Seite wählen

NETWAYS Blog

MySQL Performance Serie – Teil 5: Key-Buffer

Bei Verwendung der MyISAM-Storage Engine macht die Datenbank vom sogenannten Key-Buffer-Cache gebrauch. In diesem Cache werden die meist frequentierten Index-Blöcke, ähnlich wie beim Query-Cache, abgelegt um den langsameren Zugriff auf das Plattensubsystem zu vermeiden. Bei Nutzung von MyISAM ist die Verwendung dieses Speicherbereichs ein absolutus muss.
Desto näher die Key-Hit-Ratio an 100% ist, desto besser die Effektivität und daraus folgend die Performance. Mit folgender Formel lässt sich die Key-Hit-Ratio ermitteln:

  • 100 – (key_reads * 100 / key_read_requests)

Die Werte können mit dem Befehl „show global status“ ermittelt werden. Besonders interessant ist noch die Möglichkeit hochfrequentierte Blöcke manuell in den Key-Buffer zu laden. Dieses sogenannte Index Preloading gibt dem Administrator eine gute Möglichkeit die Wirksamkeit zu ermitteln.
Schwerkpunkt des nächsten Teils ist das Thema Slow-Queries.

Bernd Erk
Bernd Erk
CEO

Bernd ist Geschäftsführer der NETWAYS Gruppe und verantwortet die Strategie und das Tagesgeschäft. Bei NETWAYS kümmert er sich eigentlich um alles, was andere nicht machen wollen oder können (meistens eher wollen). Darüber hinaus startete er früher das wöchentliche Lexware-Backup, welches er nun endlich automatisiert hat. So investiert er seine ganze Energie in den Rest der Truppe und versucht für kollektives Glück zu sorgen. In seiner Freizeit macht er mit sinnlosen Ideen seine Frau verrückt und verbündet sich dafür mit seinen beiden Söhnen und seiner Tochter.

MySQL Performance Serie – Teil 4: Query-Cache

Wie bereits im ersten Teil unserer Performance-Serie angesprochen, ist die schnellste Art der Ergebnissermittlung innerhalb der Datenbank der Query-Cache.
Mit dem Befehl „show variables like ‚query%‘;“ können die aktuellen Einstellungen zum Query-Cache ermittelt werden. Häufig ist der Wert des Parameters query_cache_type zwar auf ON jedoch die eigentliche query_cache_size auf 0 was die Cache quasi ausschaltet. Sobald dem Query-Cache eine gewisse Grösse an Hauptspeicher zugewiesen wird, was aufgrund des dynamischen Speichermanagements auch zur Laufzeit funktioniert, verrichtet er seinen Dienst und liefert bereits selektierte Ergebnismengen aus dem Speicher aus.
Mit dem Befehl „show status like ‚qc%‘;“ kann der aktuelle Status und die Auslastung des Query-Caches ermittelt werden. Auch der MySQl-Administrator bietet eine grafische Möglichkeit die Hitrate zu analysieren.
Thema des nächsten Teils ist der Key-Buffer.

Bernd Erk
Bernd Erk
CEO

Bernd ist Geschäftsführer der NETWAYS Gruppe und verantwortet die Strategie und das Tagesgeschäft. Bei NETWAYS kümmert er sich eigentlich um alles, was andere nicht machen wollen oder können (meistens eher wollen). Darüber hinaus startete er früher das wöchentliche Lexware-Backup, welches er nun endlich automatisiert hat. So investiert er seine ganze Energie in den Rest der Truppe und versucht für kollektives Glück zu sorgen. In seiner Freizeit macht er mit sinnlosen Ideen seine Frau verrückt und verbündet sich dafür mit seinen beiden Söhnen und seiner Tochter.

Blogvorstellung: MySQL Performance Blog

Man kann es fast nicht glauben, aber im MySQL Performance Blog geht es tatsächlich um MySQL und wie man dessen Performance steigert, höchstens ganz am Rande noch ein bisschen um PHP. Geschrieben wird das Blog von den Mitarbeitern der Firma Percona Inc., in der sich einige MySQL Experten und ehemalige MySQL Mitarbeiter tummeln und hauptsächlich MySQL Consulting anbieten. Die Artikel sind zum überwiegenden Teil technischer Natur und bieten einen sehr hohen Anteil an wirklich interessantem Wissen. Dazwischen gibt es Hinweise auf anstehende Konferenzen oder wo demnächst Vorträge gehalten werden. Beispielsweise ging es in letzter Zeit um einen Performancevergleich zwischen MySQL Replikation und DRBD, ob man Swap auf Datenbankservern besser deaktivierten sollte oder wie man am besten die MySQL Logs rotiert.
Die Kollegen posten alle 1 oder 2 Tage einen neuen Blogeintrag. Klar ist nicht jedes Posting für jeden Leser gleich interessant, aber in dem Bereich hohe Performance und große Installationen kenne ich keine anderen Blog der so viele Infos liefert. Egal ob man einen einzelnen DB Server noch weiter tunen oder die Replikation zwischen Master und 20 Slaves in den Griff kriegen will. Deswegen ist das MySQL Performance Blog ein absolutes Muss für jeden Feedreader.

Julian Hein
Julian Hein
Executive Chairman

Julian ist Gründer und Eigentümer der NETWAYS Gruppe und kümmert sich um die strategische Ausrichtung des Unternehmens. Neben seinem technischen und betriebswirtschaftlichen Background ist Julian häufig auch kreativer Kopf und Namensgeber, beispielsweise auch für Icinga. Darüber hinaus ist er als CPO (Chief Plugin Officer) auch für die konzernweite Pluginstrategie verantwortlich und stösst regelmässig auf technische Herausforderungen, die sonst noch kein Mensch zuvor gesehen hat.