SlideShare a Scribd company logo
1 of 24
Download to read offline
Magento API
performant nutzen
Meet Magento #4.10
Dominik Krebs
Themen   _Vorstellung NETZKOLLEKTIV
         _Performance der Magento API
         _Best Practices zur Optimierung
         _Fallbeispiel
E-Commerce Lösungen auf hohem Niveau
E-Commerce




             www.skidress.de
SyncAnt &
Magento API
Nutzung seit mehr als
zwei Jahren




                        www.syncant.de
Core API Extension
Erweiterung seit über einem Jahr
Magento API




              Google Suche nach »Magento API«
Magento API   _ mit einem Server gleicher Leistung ist Magento langsam
              _ Magento benötigt mehr Performance als prozedural
= langsam?      programmiertes Shop-System (vgl. XT-Commerce)
              _ Flexibilität & Wartbarkeit wird durch Performance-Hunger
                erkauft
Flaschenhälse   _ Datenbank
                _ Application-Server
                _ Verbindungsgeschwindigkeit
Warum ist   _ Flexibilität kostet Leistung
            _ Entity-Attribute-Value Model
Magento       _ verteilte Datenbanktabellen
langsam?      _ keine vollständige Ausnutzung der Datenbank-
                performance
              _ Datenbanken sind optimiert auf Tabellen mit Attributen
              _ Joins kosten Arbeitsspeicher
API optimiert   Best Practices zur performanten
                Verwendung
6 Punkte Plan   1_ Magento richtig konfigurieren
                2_ Application-Server optimieren
                3_ Datenbank-Server optimieren
                4_ Verbindungsgeschwindigkeit überprüfen
                5_ Anfragen reduzieren
                6_ Optimierte Methoden verwenden
1_Magento       _ Caches aktivieren
                _ (Magento Compiler verwenden)
richtig
konfigurieren
2_Application-   _ Bytecode-Cache verwenden
                   _ Alternative PHP-Cache
Server             _ X-Cache
optimieren         _ Zend Optimizer
                 _ Memcached verwenden
                 _ nur benötigte Apache-Module
                 _ nur benötigte PHP-Module laden
                 _ keep-alive verwenden
3_Datenbank-   _ query_cache_size
               _ query_cache_limit
Server         _ innodb_buffer_pool_size
optimieren     _ table_cache
4_Verbindungs-    _ Webservice über XML bedeutet Overhead
                  _ Bilder übertragen über DSL?
geschwindigkeit   _ jede Anfrage benötigt zusätzliche Zeit
überprüfen
5_Anfragen   _ je weniger Anfragen, desto weniger Zeitaufwand
             _ mittels Hash erkennen was sich verändert hat
reduzieren   _ nur veränderte Daten aktualisieren
             _ Anfragen cachen - soweit möglich (lesende Anfragen)
             _ Methodensignaturen cachen (system.methodSignature)
             _ Multi-Calls verwenden
5_Anfragen
reduzieren
6_optimierte   _ optimierte Methoden führen mehrere Aktionen
                 auf einmal durch
Methoden       _ ähnlich Multi-Call
verwenden      _ weniger XML-Daten - weniger Overhead
6_optimierte   _ catalog_product.delete(array(1,2,3,4,5))
                 statt
Methoden             _ catalog_product.delete(1)
verwenden            _ catalog_product.delete(2)
                     _ ...
Fallbeispiel   Verwendung der Magento API bei
               SyncAnt
SyncAnt   _ 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
Diskussion   _ Erfahrungen
             _ Fragen
             _ Anregungen

More Related Content

Viewers also liked

Gramatica Dutch-Spanish,Español -Holandes, Nederlands-Spaans
Gramatica Dutch-Spanish,Español -Holandes, Nederlands-SpaansGramatica Dutch-Spanish,Español -Holandes, Nederlands-Spaans
Gramatica Dutch-Spanish,Español -Holandes, Nederlands-Spaans
Kellys Mariposa
 
Voorlichting accountancy en bedrijfseconomie
Voorlichting  accountancy en bedrijfseconomieVoorlichting  accountancy en bedrijfseconomie
Voorlichting accountancy en bedrijfseconomie
Jurroen Cluitmans
 

Viewers also liked (15)

Faites evoluer votre SI au rythme de votre entreprise
Faites evoluer votre SI au rythme de votre entrepriseFaites evoluer votre SI au rythme de votre entreprise
Faites evoluer votre SI au rythme de votre entreprise
 
AFAS Open 2014 - Presentatie Profit ERP
AFAS Open 2014 - Presentatie Profit ERPAFAS Open 2014 - Presentatie Profit ERP
AFAS Open 2014 - Presentatie Profit ERP
 
Smart care imtech ict-big data in de zorg
Smart care imtech ict-big data in de zorgSmart care imtech ict-big data in de zorg
Smart care imtech ict-big data in de zorg
 
Boekhouden les 1
Boekhouden les 1Boekhouden les 1
Boekhouden les 1
 
Curacao Economic Outlook 2011
Curacao Economic Outlook 2011Curacao Economic Outlook 2011
Curacao Economic Outlook 2011
 
Planning 2016 week
Planning 2016 weekPlanning 2016 week
Planning 2016 week
 
Infraroodcabine maatwerk
Infraroodcabine maatwerkInfraroodcabine maatwerk
Infraroodcabine maatwerk
 
Communicatie richting zorgconsumenten
Communicatie richting zorgconsumenten Communicatie richting zorgconsumenten
Communicatie richting zorgconsumenten
 
Magento 2 vs Shopware
Magento 2 vs ShopwareMagento 2 vs Shopware
Magento 2 vs Shopware
 
Brochure 2014 Effegibi Topkapi
Brochure 2014 Effegibi TopkapiBrochure 2014 Effegibi Topkapi
Brochure 2014 Effegibi Topkapi
 
Gramatica Dutch-Spanish,Español -Holandes, Nederlands-Spaans
Gramatica Dutch-Spanish,Español -Holandes, Nederlands-SpaansGramatica Dutch-Spanish,Español -Holandes, Nederlands-Spaans
Gramatica Dutch-Spanish,Español -Holandes, Nederlands-Spaans
 
Magento 2 + composer
Magento 2 + composerMagento 2 + composer
Magento 2 + composer
 
Voorlichting accountancy en bedrijfseconomie
Voorlichting  accountancy en bedrijfseconomieVoorlichting  accountancy en bedrijfseconomie
Voorlichting accountancy en bedrijfseconomie
 
Expoline - voetbalmateriaal.com - Bedrijfsvoorstelling
Expoline - voetbalmateriaal.com - BedrijfsvoorstellingExpoline - voetbalmateriaal.com - Bedrijfsvoorstelling
Expoline - voetbalmateriaal.com - Bedrijfsvoorstelling
 
Le travail à l’heure d’internet
Le travail à l’heure d’internetLe travail à l’heure d’internet
Le travail à l’heure d’internet
 

Similar to Magento Core API performant nutzen

MT AG: Ajax Rezepte fuer web services mit jquery und ajax
MT AG: Ajax Rezepte fuer web services mit jquery und ajaxMT AG: Ajax Rezepte fuer web services mit jquery und ajax
MT AG: Ajax Rezepte fuer web services mit jquery und ajax
MT AG
 
Hypermedia mit der ASP.NET Web API
Hypermedia mit der ASP.NET Web APIHypermedia mit der ASP.NET Web API
Hypermedia mit der ASP.NET Web API
Alexander Zeitler
 
Creasoft Akademie - Deep Dive into ASP.NET MVC
Creasoft Akademie - Deep Dive into ASP.NET MVCCreasoft Akademie - Deep Dive into ASP.NET MVC
Creasoft Akademie - Deep Dive into ASP.NET MVC
Creasoft AG
 
Creasoft Akademie - Deep dive into ASP.NET MVC
Creasoft Akademie - Deep dive into ASP.NET MVCCreasoft Akademie - Deep dive into ASP.NET MVC
Creasoft Akademie - Deep dive into ASP.NET MVC
Creasoft AG
 

Similar to Magento Core API performant nutzen (20)

AngularJs
AngularJsAngularJs
AngularJs
 
Wordpress on steroids
Wordpress on steroidsWordpress on steroids
Wordpress on steroids
 
AdWords Scripts Automation, SEACamp2016 | Christopher Gutknecht (norisk)
AdWords Scripts Automation, SEACamp2016 | Christopher Gutknecht (norisk)AdWords Scripts Automation, SEACamp2016 | Christopher Gutknecht (norisk)
AdWords Scripts Automation, SEACamp2016 | Christopher Gutknecht (norisk)
 
PHP-Module in statischen Seiten - Architektur-Ansätze
PHP-Module in statischen Seiten - Architektur-AnsätzePHP-Module in statischen Seiten - Architektur-Ansätze
PHP-Module in statischen Seiten - Architektur-Ansätze
 
5 Tweaks für 500 % bessere Performance
5 Tweaks für 500 % bessere Performance5 Tweaks für 500 % bessere Performance
5 Tweaks für 500 % bessere Performance
 
Cloud Deployment und (Auto)Scaling am Beispiel von Angrybird
Cloud Deployment und (Auto)Scaling am Beispiel von AngrybirdCloud Deployment und (Auto)Scaling am Beispiel von Angrybird
Cloud Deployment und (Auto)Scaling am Beispiel von Angrybird
 
imatics FormEngine
imatics FormEngineimatics FormEngine
imatics FormEngine
 
Net@night asp.net mvc
Net@night asp.net mvcNet@night asp.net mvc
Net@night asp.net mvc
 
BizSpark goes Cloud
BizSpark goes CloudBizSpark goes Cloud
BizSpark goes Cloud
 
Test-getriebene Entwicklung in ABAP – Das Entwicklungsmodell der Zukunft
Test-getriebene Entwicklung in ABAP – Das Entwicklungsmodell der ZukunftTest-getriebene Entwicklung in ABAP – Das Entwicklungsmodell der Zukunft
Test-getriebene Entwicklung in ABAP – Das Entwicklungsmodell der Zukunft
 
.NET Summit 2016 München: Angular 2 mit TypeScript
.NET Summit 2016 München: Angular 2 mit TypeScript.NET Summit 2016 München: Angular 2 mit TypeScript
.NET Summit 2016 München: Angular 2 mit TypeScript
 
Making AdWords Scripts Scale
Making AdWords Scripts ScaleMaking AdWords Scripts Scale
Making AdWords Scripts Scale
 
Einführung in ASP.NET Core Middlewares
Einführung in ASP.NET Core MiddlewaresEinführung in ASP.NET Core Middlewares
Einführung in ASP.NET Core Middlewares
 
MT AG: Ajax Rezepte fuer web services mit jquery und ajax
MT AG: Ajax Rezepte fuer web services mit jquery und ajaxMT AG: Ajax Rezepte fuer web services mit jquery und ajax
MT AG: Ajax Rezepte fuer web services mit jquery und ajax
 
Hypermedia mit der ASP.NET Web API
Hypermedia mit der ASP.NET Web APIHypermedia mit der ASP.NET Web API
Hypermedia mit der ASP.NET Web API
 
Creasoft Akademie - Deep Dive into ASP.NET MVC
Creasoft Akademie - Deep Dive into ASP.NET MVCCreasoft Akademie - Deep Dive into ASP.NET MVC
Creasoft Akademie - Deep Dive into ASP.NET MVC
 
Creasoft Akademie - Deep dive into ASP.NET MVC
Creasoft Akademie - Deep dive into ASP.NET MVCCreasoft Akademie - Deep dive into ASP.NET MVC
Creasoft Akademie - Deep dive into ASP.NET MVC
 
WordPress vs. TYPO3
WordPress vs. TYPO3WordPress vs. TYPO3
WordPress vs. TYPO3
 
eZ Publish Plateform 5.2 Webinar Deutsch
eZ Publish Plateform 5.2 Webinar Deutsch eZ Publish Plateform 5.2 Webinar Deutsch
eZ Publish Plateform 5.2 Webinar Deutsch
 
magnolia mit thymeleaf - ein agiler prozess-beschleuniger
magnolia mit thymeleaf - ein agiler prozess-beschleunigermagnolia mit thymeleaf - ein agiler prozess-beschleuniger
magnolia mit thymeleaf - ein agiler prozess-beschleuniger
 

Magento Core API performant nutzen

  • 1. Magento API performant nutzen Meet Magento #4.10 Dominik Krebs
  • 2. Themen _Vorstellung NETZKOLLEKTIV _Performance der Magento API _Best Practices zur Optimierung _Fallbeispiel
  • 4. E-Commerce www.skidress.de
  • 5. SyncAnt & Magento API Nutzung seit mehr als zwei Jahren www.syncant.de
  • 6. Core API Extension Erweiterung seit über einem Jahr
  • 7. Magento API Google Suche nach »Magento API«
  • 8. Magento API _ mit einem Server gleicher Leistung ist Magento langsam _ Magento benötigt mehr Performance als prozedural = langsam? programmiertes Shop-System (vgl. XT-Commerce) _ Flexibilität & Wartbarkeit wird durch Performance-Hunger erkauft
  • 9. Flaschenhälse _ Datenbank _ Application-Server _ Verbindungsgeschwindigkeit
  • 10. Warum ist _ Flexibilität kostet Leistung _ Entity-Attribute-Value Model Magento _ verteilte Datenbanktabellen langsam? _ keine vollständige Ausnutzung der Datenbank- performance _ Datenbanken sind optimiert auf Tabellen mit Attributen _ Joins kosten Arbeitsspeicher
  • 11. API optimiert Best Practices zur performanten Verwendung
  • 12. 6 Punkte Plan 1_ Magento richtig konfigurieren 2_ Application-Server optimieren 3_ Datenbank-Server optimieren 4_ Verbindungsgeschwindigkeit überprüfen 5_ Anfragen reduzieren 6_ Optimierte Methoden verwenden
  • 13. 1_Magento _ Caches aktivieren _ (Magento Compiler verwenden) richtig konfigurieren
  • 14. 2_Application- _ Bytecode-Cache verwenden _ Alternative PHP-Cache Server _ X-Cache optimieren _ Zend Optimizer _ Memcached verwenden _ nur benötigte Apache-Module _ nur benötigte PHP-Module laden _ keep-alive verwenden
  • 15. 3_Datenbank- _ query_cache_size _ query_cache_limit Server _ innodb_buffer_pool_size optimieren _ table_cache
  • 16. 4_Verbindungs- _ Webservice über XML bedeutet Overhead _ Bilder übertragen über DSL? geschwindigkeit _ jede Anfrage benötigt zusätzliche Zeit überprüfen
  • 17. 5_Anfragen _ je weniger Anfragen, desto weniger Zeitaufwand _ mittels Hash erkennen was sich verändert hat reduzieren _ nur veränderte Daten aktualisieren _ Anfragen cachen - soweit möglich (lesende Anfragen) _ Methodensignaturen cachen (system.methodSignature) _ Multi-Calls verwenden
  • 19. 6_optimierte _ optimierte Methoden führen mehrere Aktionen auf einmal durch Methoden _ ähnlich Multi-Call verwenden _ weniger XML-Daten - weniger Overhead
  • 20. 6_optimierte _ catalog_product.delete(array(1,2,3,4,5)) statt Methoden _ catalog_product.delete(1) verwenden _ catalog_product.delete(2) _ ...
  • 21. Fallbeispiel Verwendung der Magento API bei SyncAnt
  • 22. SyncAnt _ Abgleich der JTL WaWi mit Magento _ konsequente Verwendung der API _ Entstehung der Magento Core API Extension
  • 23. 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
  • 24. Diskussion _ Erfahrungen _ Fragen _ Anregungen