Transcript
Page 1: Magento Core API performant nutzen

Magento APIperformant nutzenMeet Magento #4.10Dominik Krebs

Page 2: Magento Core API performant nutzen

_Vorstellung NETZKOLLEKTIV_Performance der Magento API_Best Practices zur Optimierung_Fallbeispiel

Themen

Page 3: Magento Core API performant nutzen

E-Commerce Lösungen auf hohem Niveau

Page 4: Magento Core API performant nutzen

E-Commerce

www.skidress.de

Page 5: Magento Core API performant nutzen

SyncAnt &Magento APINutzung seit mehr als zwei Jahren

www.syncant.de

Page 6: Magento Core API performant nutzen

Core API ExtensionErweiterung seit über einem Jahr

Page 7: Magento Core API performant nutzen

Magento API

Google Suche nach »Magento API«

Page 8: Magento Core API performant nutzen

_ 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?

Page 9: Magento Core API performant nutzen

_ Datenbank_ Application-Server_ Verbindungsgeschwindigkeit

Flaschenhälse

Page 10: Magento Core API performant nutzen

_ 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?

Page 11: Magento Core API performant nutzen

Best Practices zur performantenVerwendung

API optimiert

Page 12: Magento Core API performant nutzen

1_ Magento richtig konfigurieren2_ Application-Server optimieren3_ Datenbank-Server optimieren4_ Verbindungsgeschwindigkeit überprüfen5_ Anfragen reduzieren6_ Optimierte Methoden verwenden

6 Punkte Plan

Page 13: Magento Core API performant nutzen

_ Caches aktivieren_ (Magento Compiler verwenden)

1_Magentorichtigkonfigurieren

Page 14: Magento Core API performant nutzen

_ 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

Page 15: Magento Core API performant nutzen

_ query_cache_size_ query_cache_limit_ innodb_buffer_pool_size_ table_cache

3_Datenbank-Serveroptimieren

Page 16: Magento Core API performant nutzen

_ Webservice über XML bedeutet Overhead_ Bilder übertragen über DSL?_ jede Anfrage benötigt zusätzliche Zeit

4_Verbindungs-geschwindigkeit überprüfen

Page 17: Magento Core API performant nutzen

_ 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

Page 18: Magento Core API performant nutzen

5_Anfragenreduzieren

Page 19: Magento Core API performant nutzen

_ optimierte Methoden führen mehrere Aktionen auf einmal durch_ ähnlich Multi-Call_ weniger XML-Daten - weniger Overhead

6_optimierte Methodenverwenden

Page 20: Magento Core API performant nutzen

_ catalog_product.delete(array(1,2,3,4,5)) statt _ catalog_product.delete(1) _ catalog_product.delete(2) _ ...

6_optimierte Methodenverwenden

Page 21: Magento Core API performant nutzen

Verwendung der Magento API bei SyncAnt

Fallbeispiel

Page 22: Magento Core API performant nutzen

_ Abgleich der JTL WaWi mit Magento_ konsequente Verwendung der API_ Entstehung der Magento Core API Extension

SyncAnt

Page 23: Magento Core API performant nutzen

_ 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

Page 24: Magento Core API performant nutzen

_ Erfahrungen_ Fragen_ Anregungen

Diskussion


Recommended