it-swarm.com.de

Würde ein Wechsel von MyISAM zu InnoDB die Leistung der Kommentartabelle verbessern?

Eine Site, die ich erstellt habe, erhält in kurzer Zeit viele Kommentare. Vielleicht bleiben also 100 Kommentare in 5 oder 10 Minuten übrig.

Dies scheint die Datenbank ziemlich stark zu belasten, insbesondere in Kombination mit den neuesten Kommentar-Widgets. Ich habe gesehen, dass die Serverlast schnell auf über 40 steigt und mit mtop kann ich viele blockierte Abfragen sehen.

Also verwende ich MyISAM als Speicher-Engine, die die gesamte Tabelle zum Schreiben sperrt. Würde ein Wechsel zu InnoDB, das (meiner Meinung nach) Zeilensperren verwendet, die Dinge verbessern? In den MySQL-Dokumenten scheint es durchaus möglich zu sein, beide Engines in derselben Datenbank zu verwenden.

Also die Frage:

Scheint der Wechsel zu InnoDB eine vernünftige Lösung für das zu sein, was ich beschrieben habe? Gibt es WP spezifische Erfahrungen/Benchmarks?

6
anu

MyISAM sperrt die gesamte Seite für Schreibvorgänge und ist nicht ACID-konform, während InnoDB beim Sperren von Zeilen bleibt und ACID-konform ist.

Dies macht es stabiler, wenn Sie viele Schreibvorgänge ausführen, da es schneller und weniger anfällig für Datenkorruption ist.

Meiner Erfahrung nach ist es langsamer für Lesevorgänge, obwohl es gleichzeitige Verbindungen besser verarbeitet.

Es wirft auch den Katalog durch. (Ich hatte eines Tages eine große Datenbank, die ich von MyISAM auf InnoDB umstellte, und der Katalog wuchs aus Gründen, die ich nie verstanden habe, um 2 GB oder die Größe meiner Datenbank, obwohl ich vermute, dass dies mit temporären Daten wie Indexerstellung und ähnliches, was nicht richtig geleert wurde.)

Wie auch immer ... Bei Ihrer aktuellen Auslastung ist InnoDB eine Option, da es neben einem Objekt-Cache gespeichert wird.

4