Magento APIperformant nutzenMeet Magento #4.10Dominik Krebs
_Vorstellung NETZKOLLEKTIV_Performance der Magento API_Best Practices zur Optimierung_Fallbeispiel
Themen
E-Commerce Lösungen auf hohem Niveau
E-Commerce
www.skidress.de
SyncAnt &Magento APINutzung seit mehr als zwei Jahren
www.syncant.de
Core API ExtensionErweiterung seit über einem Jahr
Magento API
Google Suche nach »Magento API«
_ mit einem Server gleicher Leistung ist Magento langsam_ Magento benötigt mehr Performance als prozedural programmiertes Shop-System (vgl. XT-Commerce)_ Flexibilität & Wartbarkeit wird durch Performance-Hunger erkauft
Magento API= langsam?
_ Datenbank_ Application-Server_ Verbindungsgeschwindigkeit
Flaschenhälse
_ Flexibilität kostet Leistung_ Entity-Attribute-Value Model _ verteilte Datenbanktabellen _ keine vollständige Ausnutzung der Datenbank- performance _ Datenbanken sind optimiert auf Tabellen mit Attributen _ Joins kosten Arbeitsspeicher
Warum ist Magento langsam?
Best Practices zur performantenVerwendung
API optimiert
1_ Magento richtig konfigurieren2_ Application-Server optimieren3_ Datenbank-Server optimieren4_ Verbindungsgeschwindigkeit überprüfen5_ Anfragen reduzieren6_ Optimierte Methoden verwenden
6 Punkte Plan
_ Caches aktivieren_ (Magento Compiler verwenden)
1_Magentorichtigkonfigurieren
_ Bytecode-Cache verwenden _ Alternative PHP-Cache _ X-Cache _ Zend Optimizer_ Memcached verwenden_ nur benötigte Apache-Module_ nur benötigte PHP-Module laden_ keep-alive verwenden
2_Application-Serveroptimieren
_ query_cache_size_ query_cache_limit_ innodb_buffer_pool_size_ table_cache
3_Datenbank-Serveroptimieren
_ Webservice über XML bedeutet Overhead_ Bilder übertragen über DSL?_ jede Anfrage benötigt zusätzliche Zeit
4_Verbindungs-geschwindigkeit überprüfen
_ je weniger Anfragen, desto weniger Zeitaufwand_ mittels Hash erkennen was sich verändert hat_ nur veränderte Daten aktualisieren_ Anfragen cachen - soweit möglich (lesende Anfragen)_ Methodensignaturen cachen (system.methodSignature)_ Multi-Calls verwenden
5_Anfragenreduzieren
5_Anfragenreduzieren
_ optimierte Methoden führen mehrere Aktionen auf einmal durch_ ähnlich Multi-Call_ weniger XML-Daten - weniger Overhead
6_optimierte Methodenverwenden
_ catalog_product.delete(array(1,2,3,4,5)) statt _ catalog_product.delete(1) _ catalog_product.delete(2) _ ...
6_optimierte Methodenverwenden
Verwendung der Magento API bei SyncAnt
Fallbeispiel
_ Abgleich der JTL WaWi mit Magento_ konsequente Verwendung der API_ Entstehung der Magento Core API Extension
SyncAnt
_ Synchronisation von bis zu 10.000 Artikeln_ bei täglichem Abgleich_ unidirektional (von JTL nach Magento)_ Dauer - je nach Änderungsvolumen - zwischen einer und zehn Stunden
SyncAnt
_ Erfahrungen_ Fragen_ Anregungen
Diskussion
Top Related