
Am 02.01.2013 17:20, schrieb Mirko Schneider:
Erst einmal Dank für die vielen Hinweise und ein Gesundes Neues Jahr,
Ziel war eigentlich nur ein kleines OTRS Testsystem als Xen PV DomU auf bekannter HW. Nachdem sich dort die Performanceprobleme zeigten machte ich mich auf die Suche nach der Ursache.
Ich nutze für die DB immer eine eigene Partition bzw. HDD mit XFS
So hier nun meine Ergebnisse nach sämtlichen Tests:
- Mount Optionen für XFS noatime >keine merkliche Änderung nobarrier >erheblich schneller(OTRS Benchmark nutzbar) aber noch viel I/O auf der HDD
- Anpassungen in my.cnf flush_log_at_trx_commit = 2 > I/O Last während des Tests kaum noch vorhanden
Eine kurze Beschreibung des Benchmark vom OTRS Support Assessment Modul:
Benchmark in einer separaten Tabelle, mit 10000 Inserts/Updates/Selects/Deletes und die dafür benötigte Zeit.
Hier mal eine Beispielausgabe mit InnoDB Engine nach der Optimierung Mount Option "nobarriers":
Insert Time: 10000 24 s :-( Should not take more than 5's on an average system. Update Time: 10000 25 s :-( Should not take more than 9's on an average system. Select Time: 10000 7 s :-( Should not take more than 6's on an average system. Delete Time: 10000 6 s :-( Should not take more than 5's on an average system. Multiplier: * 1
Und zusätzlich mit "flush_log_at_trx_commit = 2" in my.cnf:
Insert Time: 10000 6 s :-( Should not take more than 5's on an average system. Update Time: 10000 8 s Ok Select Time: 10000 6 s Ok Delete Time: 10000 6 s :-( Should not take more than 5's on an average system. Multiplier: * 1
Und hier eine Beispielausgabe meiner OTRS Testumgebung mit MyISAM Engine auf gleicher HW aber als Xen PV DomU(OS12.2) Wobei hier der OpenXen Dom0(OS12.1) mit einem SW RAID5(4x2TB) läuft.
Insert Time: 10000 2 s :-) Looks fine! Update Time: 10000 4 s :-) Looks fine! Select Time: 10000 4 s :-) Looks fine! Delete Time: 10000 3 s :-) Looks fine! Multiplier: * 1
FAZIT:
Da OTRS z.Z. die Vorteile der InnoDB Engine(Transaktionen) nicht wirklich nutzt, Umstellung auf MyISAM da immer noch schneller als InnoDB.
Wenn man aber unbedingt die InnoDB Engine nutzen will Mount Optionen noatime, nobarrier und my.cnf auf flush_log_at_trx_commit = 2 setzen.
Gruß Mirko
Das deckt sich mit meinen Tests mit dem MySQL-eigenen Benchmark auf meinem 9 Jahre alten Laptop. Für ein Testsystem ist es OK, die Schreibcaches auf allen Ebenen zu aktivieren, aber für den Produktiveinsatz sollte man sich gut überlegen, ob man die damit verbundene Gefahr des Datenverlusts eingehen möchte. Das OTRS im Jahre 2013 noch keine Transaktionen benutzt, finde ich erschreckend... Das einzige Bug-würdige, was mir bei den Tests aufgefallen ist, ist die Tatsache, dass die MySQL-Pakete von openSUSE ohne Unterstützung für asynchrones IO (libaio) gebaut sind. Auf der schwachbrüstigen Hardware, über die wir hier reden, spielt das keine Rolle, aber auf entsprechend ausgestatteten Servern kann das schlimmstenfalls bis zu 40% Performance kosten. Ein Gesundes Neues, Hendrik -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org