Ich sehe derzeit, dass für eine Datenbanktabelle mit einem sehr einfachen Schema (ungefähr 5 Felder) neue Datensätze mit einer Rate von knapp 50 Einfügungen / Sekunde in meiner lokalen Entwicklungsumgebung (SSD-Laufwerk) eingefügt werden - dies ist mit Keine Beobachter im Modell, die zugeordnete Tabellen ausfüllen.
Mit Direct SQL sehe ich eine ziemliche Verbesserung - ~ 1800 Inserts / Sekunde. Wir denken darüber nach, die Leistung unserer Modelle zu optimieren, aber wir möchten natürlich nicht die schöne Stabilität und Flexibilität verlieren, die uns der Magento-Kern bietet.
Ich frage mich, ob jemand diesen Weg schon einmal gegangen ist und ob es einige einfache Erfolge in Bezug auf Komponenten der Modellebene gibt, die relativ sicher umgangen werden können, was zu erheblichen Leistungssteigerungen führt.
Dinge wie:
- Klassennamenauflösung
- vor und nach dem Speichern von Ereignissen
- Ereignismeldungen
- Transaktionen
- etc.
UPDATE: Ich habe gelogen, es gab tatsächlich einige zusätzliche Abfragen von Beobachtern oder afterSave (), die ich gesehen habe, als ich das Datenbank-Abfrageprotokoll inspiziert habe. Das Benchmarking mit einer ganz einfachen Entität ergibt bei Magento-Modellen ungefähr 300 Zeilen pro Sekunde - nur MySQL-Overhead ist eine Transaktion.