mysql

Die wohl bekannteste und verbreitetste ist die . Eine flexibel Skalierbare Software, die gerade im Bereich Webseiten Verwendung findet. Durch zahlreiche Konfigurationsmöglichkeiten kann die individuell eingestellt werden und so auf die eigenen Bedürfnisse angepasst werden. Durch diverse Einstellungen, wie etwa query_cache_size kann die Performance massiv beeinflusst werden. Bei der Anpassung dieser Parameter sollte man sich jedoch auskennen oder zumindest die Dokumentation der einzelnen Werte beachten. Nicht immer ist mehr auch besser. So ist der query_cache bis 128MB sehr effizient, wird er jedoch weiter erhöht, kann es passieren, dass das starten und stoppen des -Dienstes eine Ewigkeit dauert. Ähnlich verhält es sich mit dem den Variablen, die per Thread steuerbar sind. Einige werden für jede Abfrage vollständig reserviert. Es leuchtet ein, dass das Reservieren von 1K Speicher schneller geht, als bei 100MB. Dazu kommt, dass die Betriebssystem-interne Speicherverwaltung unter Linux bis 3MB anders funktioniert. Daher können 3MB in deutlich unter der halben Zeit reserviert werden als 7MB. Somit sollten die Variablen, die per Thread reserviert werden die 3MB grenze nicht überschreiten. Variablen wie z.B. der key_buffer kann man getrost erhöhen. Dieser ist mit Standardmäßig 64MB meist nicht ausreichend. Ebenso kann man InnoDB-spezifische Variablen erhöhen, z.B. innodb_buffer_pool_size (sehr wichtig!).

Eine ebenfalls sehr wichtige Einstellung ist “max_connections”, welche Standardmäßig auf 150 eingestellt ist. Der wert gibt an, wie viele Verbindungen gleichzeitig zu Datenbank aufgebaut werden können. Bei kleinen Webseiten, Blogs, TYPO3-systemen etc. kann der Wert meistens stark reduziert werden. Das hat dann zur folge, dass andere Variablen erhöht werden können, ohne dass insgesamt mehr Speicher benötigt wird.
Die Konfiguration der Variablen kann man beispielsweise mit “mysqltuner” (eine Software die man installieren kann) prüfen. So bekommt man einige Tipps, welche Werte man noch anpassen sollte.
Ebenfalls ein hilfreiches Tool ist das tuning-primer script: http://www.day32.com/MySQL/tuning-primer.sh
Hier werden ebenfalls Variablen ausgewertet und Tipps für weitere Einstellungen errechnet.

Wer sich auskennt kann durch eine optimale Konfiguration der Datenbank die Ladezeit seiner Webseite um 50% verringern – wer sich nicht auskennt kann jedoch die Ladezeit deutlich steigern oder gar Fehler verursachen (wie etwa “too many connections”). Daher ist es ratsam, die Konfiguration nur soweit anzupassen, wie man sich sicher ist, das richtige zu tun. Hilfestellung hierfür kann man der offiziellen Dokumentation von mysql entnehmen. An der Stelle ein großen Lob für die Dokumentation, die sehr vollständig, verständlich und hilfreich ist!

Dieser Beitrag wurde unter High Performance, Webserver abgelegt und mit , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.