Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
1
Shopware Core Optimierung
Überblick Überblick Shopware Core Optimierung Ein Vortrag von enrrud
2
Überblick Vorstellung Die Aufgabe Tools Maßnahmen Fazit
3
Vorstellung Enrico Rudolph Programmierer Shopware Projekte
Seit 5.1 Magento Projekte Seit 1.5 PHP | JAVA
4
Überblick Vorstellung Die Aufgabe Tools Maßnahmen Fazit
5
Die Aufgabe First Request schneller machen Bottlenecks finden
Datenbankabfragen reduzieren Geschwindigkeit steigern Speicherverbrauch reduzieren
6
Überblick Vorstellung Die Aufgabe Tools Maßnahmen Fazit
7
Tools Xdebug https://xdebug.org/ Z-Ray
ShyimProfiler Tideways
8
Überblick Vorstellung Die Aufgabe Tools Maßnahmen Fazit
9
Maßnahmen SEO Index / URL Rewrite Cache Lifetime SQLs reduzieren
Caches Kleine Verbesserungen
10
Seo Index / URL Rewrite Erweiterung der 's_rewrite_url' Tabelle
Controller / action / element_id SEO Indexer erweitert
11
Seo Index / URL Rewrite Engine/Shopware/ Core/sRewriteTable.php
Components/SitePageMenu.php Components/Translation.php
12
Seo Index / URL Rewrite Was hat es gebracht? Schnellere DB Abfragen
Keine Volltextsuche Weniger PostFilter URL Generierungen Reduzierung der SQL-Abfragen Reduzierung der IN-Queries bei PostFilter
13
Maßnahmen SEO Index / URL Rewrite Cache Lifetime SQLs reduzieren
Caches Kleine Verbesserungen
14
Cache Lifetime Engine/Shopware/Bundle/StoreFrontBundle/
Gateway/DBAL/FieldHelper.php GetTableFields() Cachelaufzeit setzen
15
Cache Lifetime 0 vs. false vs. Null
engine/Library/Zend/Cache/Backend/File.php
16
Cache Lifetime Was hat es gebracht? Cache für Tabellenspalten
Weniger SQL-Abfragen schnellerer Zugriff
17
Maßnahmen SEO Index / URL Rewrite Cache Lifetime SQLs reduzieren
Caches Kleine Verbesserungen
18
SQLs reduzieren engine/Shopware/Bundle/StoreFrontBundle/
Service/Core/ListProductService.php Methode: getList() Entfernen von Methoden
19
SQLs reduzieren engine/Shopware/Components/
Compatibility/LegacyStructConverter.php Methode: getCategoryCanonicalParams() Params festgesetzt Methode getCategoryChildrenCount() ersetzt gesammelt holen mit Cache
20
SQLs reduzieren
21
SQLs reduzieren Was hat es gebracht? Cache für Kategorieanzahl
Weniger SQL-Abfragen Weniger DB-Last
22
Maßnahmen SEO Index / URL Rewrite Cache Lifetime SQLs reduzieren
Caches Kleine Verbesserungen
23
Caches | Config engine/Shopware/Components/
Plugin/Namespace.php Plugin/DBALConfigReader.php Shopware Cache für Pluginconfiguration Verbessertes Abholen der Pluginconfigs SQL umgestellt und gesammelt abgeholt Interner Cache pro Plugin
24
Caches | Translation engine/Shopware/Components/
Translation.php Shopware Cache für Translations Verbessertes Abholen der Translations Interner Cache pro Translation
25
Caches | Emotion engine/Shopware/Bundle/EmotionBundle/
Service/EmotionElementService.php Cache für Emotion-Elements Cache für Emotion-Elements Data Schnelleres Laden der Daten Weniger SQL-Abfragen Schnellerer Zugriff
26
Caches | Emotion engine/Shopware/Bundle/StoreFrontBundle/
Service/Core/MediaService.php Gateway/DBAL/ListProductMediaGateway.php Methoden hinzugefügt: GetByPath | getListByPath für Emotion Elemente Einsparung: 1 Abfrage pro Element
27
Caches | Core engine/Shopware/Core/sAdmin.php Cache für: Payment Means
Countries Translations Shipping UserData Risks
28
Caches | Models engine/Shopware/Models/
Category/Repository.php Methode: getCategoryPathBefore() Ermittlung der Elternkategorie verbessert Rekursion vermieden Weniger SQL-Abfragen
29
Maßnahmen SEO Index / URL Rewrite Cache Lifetime SQLs reduzieren
Caches Kleine Verbesserungen
30
Kleine Verbesserungen
engine/Shopware/Bundle/StoreFrontBundle/ Gateway/DBAL/FieldHelper.php Felder für das Listing reduzieren Description Description_long Reduzierung DB Traffic
31
Kleine Verbesserungen
engine/Shopware/Bundle/StoreFrontBundle/ Service/Core/ContextService.php
32
Kleine Verbesserungen
Was hat es gebracht? Nur ein Shopcontext Objekt Cache greift bei Mehrfachzugriff Weniger Objekte Speichereinsparung
33
Tipps und Tricks Shopbetreiber Services Redis / Memcache CDN
Media / Speicherplatz
34
Sonstiges | Shopbetreiber
Shopbetreiber Niemals mehrere Mailadressen eingeben Templat -Service erweitern Eigene Freitextfelder für CC/BCC
35
Sonstiges | Services Services ab Shopware 5.2 in services.xml
Services richtig dekorieren Korrekte(s) Interface/Klasse verwenden Den Elternservice ansprechen Servicename '.inner' Nur die Methoden überschreiben die man braucht
36
Sonstiges | Redis / Memcache
Memcache für die Sessions Locking ab 5.3 Redis für den Cache
37
Sonstiges | CDN / Media !! Vorsicht bei der Verwendung von CDN !!
Stolperfalle: /media/.htaccess Der Sessionkiller bei CDN Benutzung Es droht Konversionverlust
38
Sonstiges | Speicherplatz
Der Media-Ordner kann sehr groß werden Abhängig von: Anzahl der Thumbnails + HiRes Thumbnailgröße Media regelmäßig aufräumen Nicht benötigte Thumbnails entfernen
39
Fazit Man kann noch einiges optimieren Events / Services verwenden
Updates einspielen Nicht alles als gegeben hinnehmen Individuell an die Bedürfnisse anpassen
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.