Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wann sollte ich das komprimierte MySQL-Protokoll verwenden?

Die Leistungsvorteile hängen weitgehend von der Größe der von Ihnen gesendeten Ergebnismengen sowie von der Netzwerkbandbreite und der Latenz zwischen dem Datenbankserver und seinen Clients ab.

Je größer die Ergebnismengen, je größer die Latenz oder je geringer die Bandbreite, desto wahrscheinlicher sehen Sie die Vorteile der Komprimierung.

Ihr maximales Servicelevel ist auf den kleinsten Engpass beschränkt. Sie müssen also analysieren, wo Sie sich derzeit in Bezug auf Netzwerk- und CPU-Ressourcen befinden.

Der am besten optimierte Datenbankserver nutzt 100 % seiner CPU zu 100 % der Zeit, andernfalls verschwenden Sie Rechenressourcen, indem Sie einen Prozessor haben, der dort sitzt und nichts tut. Natürlich wollen Sie es nicht bei 101 %, also liegt Ihr Zielbereich deutlich unter 100 %. Mein Punkt ist jedoch, dass, wenn Sie viel Spielraum haben, bevor Sie einen CPU-Engpass erreichen, die Ergebnismengen eine erhebliche Größe haben und das Netzwerk ein Faktor ist, dann schalten Sie die Komprimierung ein. CPU-Zyklen sind billig, besonders ungenutzte (Sie zahlen für Strom und Kühlung).

Wenn Sie für Bandbreite bezahlen, ist der Handel mit CPU-Auslastung für Bandbreite leicht gerechtfertigt, und selbst wenn Sie den Bandbreitenengpass noch lange nicht erreicht haben, sind diese höhere Geschwindigkeit und das höhere Serviceniveau etwas wert.

Vergessen Sie nicht, dass der Client auch CPU-Zyklen aufwenden muss, um die Daten zu dekomprimieren. Kein großes Problem, aber immer noch ein Faktor. Im Allgemeinen sind die heutigen CPUs schneller als die heutigen Netzwerke.