Shopware Core Optimierung

Slides:



Advertisements
Ähnliche Präsentationen
Die Performance von Webseiten optimieren
Advertisements

Object Relational Mapping
Objektrelationales Mapping mit JPA Advanced Topics Jonas Bandi Simon Martinelli.
Surfen im Internet.
Datenbanken Einführung.
JPQL Java Persistence Query Language
eXist Open Source Native XML Database
Ruby on Rails im Überblick
Objektrelationales Mapping mit JPA
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Eine Semesterarbeit von Sebastian Galenski (2. Semester – WWI 00 B) SQL Query Result Caching Oder wie man häufig gestellte Datenbankabfragen performanter.
FH-Hof Servlets Richard Göbel. FH-Hof Konzept Servlets werden auf der Server-Seite durch ein Formular aufgerufen werten die Eingaben aus einem Formular.
DOM (Document Object Model)
XINDICE The Apache XML Project Name: Jacqueline Langhorst
Dynamische Webseiten mit PHP
Anwendungen. © Prof. T. Kudraß, HTWK Leipzig Historie des WWW Grundlage Internet – Entwickelt Ende der 60er Jahre vom US-Militär (ARPA-Net) – Technische.
Vortrag III Hier in der Vorlesungszeit! Anwesenheitspflicht Jede Gruppe hat 6 Minuten! Stellt eure GUI vor –was ihr besonderes gemacht habt –Spektakuläre.
Routingverfahren in Content Delivery Networks
Vortrag: Ingo Gensch, Mathias Reich am:
Entwurfsmuster EDV Entwurfsmuster.
DVG Verkettete Listen Verkettete Listen. DVG Verkettete Listen 2 Primitive Datentypen Vorteile: –werden direkt vom Prozessor unterstützt.
Einführung MySQL mit PHP
Einführung und Überblick
YouTube5 .0 Projektpräsentation
SQL-Tutorium Ernst Rodlmayr.
Einführung Servlets/JSPs
Philips POS–Tool für Händler alle Informationen in einer Datenbank
Wir bauen uns eine Webapplikation!
Publicvoid - Onlinenotes SWOS HS 2011/12. Inhalt Vorstellung Website Probleme - Lösungen Quick & easy 2 kalik1, messu2, joosp1, stahm3.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
RL-Schichtbuch V1.3 Aufbau und Struktur © 2003 Rainer Lang Url:
Jugend forscht… …nach dem SEOKanzler SEOKanzler 2013.
© All rights reserved. Zend Technologies, Inc. Jan Burkl System Engineer, Zend Technologies Zend Server im Cluster.
Tools und Verfahren Steffen Krause Technologieberater Microsoft Deutschland GmbH
GPicS Geo Picture Service. Gliederung 1. Entwicklersicht a) Layout b) Primefaces Komponenten c) Controller d) Datenbank 2. Evaluation.
2012 © Trivadis BASEL BERN LAUSANNE ZÜRICH DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. HAMBURG MÜNCHEN STUTTGART WIEN Welcome November 2012 Highlights BI.
Datenbanken Dantenbanksystem Data Base System Datenbasis (Daten)
SQL Überblick Abfragen aus einer Tabelle
1.6 Die Datenstruktur Stapel Ein Stapel (Stack) ist ein Sonderfall einer Liste. Die Elemente werden nach dem Prinzip LIFO (Last In First Out) angefügt.
Aufgaben Version 1: Es soll eine Wetterstation mit folgenden zwei Anzeigen implementiert werden: Aktuelle Wetterbedingungen mit Temperatur und.
Von Isabelle Spörl und Simon Schausberger
© All rights reserved. Zend Technologies, Inc. Jenseits von var_dump(): Debugging in ZF Jan Burkl System Engineer.
Einfach und doppelt verkettete Listen in JAVA by Jens Weibler
Optimierung & Pflege. Suchmaschinenoptimierung - SEO 1.Klicke auf System -> Konfiguration 2. Optimiere die Einstellungen (Use URL rewriting vorerst deaktiviert.
TypoScript.
Sammlungsklassen Array.
Aus SEO Sicht. TYPO3vs WordPress TYPO3 vs WordPressON-SITE  Title  Meta Description  URL-rewrite  Image  Image-Dateinamen  alt-Attribut  Link Attribute.
Marcel Genzmehr 1 Javabasierte Webtechnologien Web Application Framework Turbine.
Opacc, CH-Kriens/LucerneOpaccConnect OpaccERP DIY-Konzept Anpassen ohne programmieren 1 G3.
J.GehlenDept. of Medical Informatics 1 Department of Medical Informatics, Uniklinik RWTH Aachen, Germany Sichere Mobile Datenerfassung.
Entwurf, Implementierung und Test eines Java – Web Services als Kommunikationsschnittstelle für Webapplikationen mit Funktionen.
Effektives Delta Laden DOAG SID Data Warehouse. Ziele Welche CDC Methoden gibt es? Typische Fallen Verschiedene Lösungsansätze praktische Beispiele.
1 Okt, 2015 Kapitel III: Tuningdaten&Dok-zum_Tuning (350_db2_Tuningdaten&docs_des Tunings) IBM DB2 for z/OS.
Softwaretechnikpraktikum SoSe 2007 // Projekt : Professorenkatalog tr-07-1Leitung: J. Zhorel Team & Projekt Team: ✗ Johannes Zhorel ✗ Fabian.
Magento in a Nutshell The Revolution of Open Source eCommerce? Ein Vortrag für die Berliner PHP Usergroup von Manuel Blechschmidt Apaxo GmbH.
Magento erfolgreich integrieren: die Magento Integration Platform (MIP)
DOAG SID Data Warehouse
Suchen und Sortieren.
Wie und wo entscheiden Algorithmen über unsere Köpfe hinweg?
Veranstaltungskalender
Wichtige CMS Begriffe.
Digitalisierung des Aachener Karnevals mit Hilfe einer App
Excel-Berichte erstellen und verteilen
Social Media-Strategie Template
Julian Lebherz Betreuer: Thomas Büchner Christian Neubert
Generierung von Berichten mit Oracle Reports Server 10g
copyright Scompler GmbH (alle Rechte vorbehalten)
Performance-Optimierung für Magento 2-Systeme
TRACKING Quelle: Fotolia by Adobe.
DATA INTELLIGENCE REPORTING © Wolfgang Kress BI Consultant.
 Präsentation transkript:

Shopware Core Optimierung Überblick Überblick Shopware Core Optimierung Ein Vortrag von enrrud

Überblick Vorstellung Die Aufgabe Tools Maßnahmen Fazit

Vorstellung Enrico Rudolph Programmierer Shopware Projekte Seit 5.1 Magento Projekte Seit 1.5 PHP | JAVA

Überblick Vorstellung Die Aufgabe Tools Maßnahmen Fazit

Die Aufgabe First Request schneller machen Bottlenecks finden Datenbankabfragen reduzieren Geschwindigkeit steigern Speicherverbrauch reduzieren

Überblick Vorstellung Die Aufgabe Tools Maßnahmen Fazit

Tools Xdebug https://xdebug.org/ Z-Ray http://www.zend.com/en/products/server/z-ray ShyimProfiler https://github.com/shyim/shopware-profiler Tideways https://tideways.io/

Überblick Vorstellung Die Aufgabe Tools Maßnahmen Fazit

Maßnahmen SEO Index / URL Rewrite Cache Lifetime SQLs reduzieren Caches Kleine Verbesserungen

Seo Index / URL Rewrite Erweiterung der 's_rewrite_url' Tabelle Controller / action / element_id SEO Indexer erweitert

Seo Index / URL Rewrite Engine/Shopware/ Core/sRewriteTable.php Components/SitePageMenu.php Components/Translation.php

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

Maßnahmen SEO Index / URL Rewrite Cache Lifetime SQLs reduzieren Caches Kleine Verbesserungen

Cache Lifetime Engine/Shopware/Bundle/StoreFrontBundle/ Gateway/DBAL/FieldHelper.php GetTableFields() Cachelaufzeit setzen

Cache Lifetime 0 vs. false vs. Null engine/Library/Zend/Cache/Backend/File.php

Cache Lifetime Was hat es gebracht? Cache für Tabellenspalten Weniger SQL-Abfragen schnellerer Zugriff

Maßnahmen SEO Index / URL Rewrite Cache Lifetime SQLs reduzieren Caches Kleine Verbesserungen

SQLs reduzieren engine/Shopware/Bundle/StoreFrontBundle/ Service/Core/ListProductService.php Methode: getList() Entfernen von Methoden

SQLs reduzieren engine/Shopware/Components/ Compatibility/LegacyStructConverter.php Methode: getCategoryCanonicalParams() Params festgesetzt Methode getCategoryChildrenCount() ersetzt gesammelt holen mit Cache

SQLs reduzieren

SQLs reduzieren Was hat es gebracht? Cache für Kategorieanzahl Weniger SQL-Abfragen Weniger DB-Last

Maßnahmen SEO Index / URL Rewrite Cache Lifetime SQLs reduzieren Caches Kleine Verbesserungen

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

Caches | Translation engine/Shopware/Components/ Translation.php Shopware Cache für Translations Verbessertes Abholen der Translations Interner Cache pro Translation

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

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

Caches | Core engine/Shopware/Core/sAdmin.php Cache für: Payment Means Countries Translations Shipping UserData Risks

Caches | Models engine/Shopware/Models/ Category/Repository.php Methode: getCategoryPathBefore() Ermittlung der Elternkategorie verbessert Rekursion vermieden Weniger SQL-Abfragen

Maßnahmen SEO Index / URL Rewrite Cache Lifetime SQLs reduzieren Caches Kleine Verbesserungen

Kleine Verbesserungen engine/Shopware/Bundle/StoreFrontBundle/ Gateway/DBAL/FieldHelper.php Felder für das Listing reduzieren Description Description_long Reduzierung DB Traffic

Kleine Verbesserungen engine/Shopware/Bundle/StoreFrontBundle/ Service/Core/ContextService.php

Kleine Verbesserungen Was hat es gebracht? Nur ein Shopcontext Objekt Cache greift bei Mehrfachzugriff Weniger Objekte Speichereinsparung

Tipps und Tricks Shopbetreiber Services Redis / Memcache CDN Media / Speicherplatz

Sonstiges | Shopbetreiber Shopbetreiber E-Mail Niemals mehrere Mailadressen eingeben TemplateMail-Service erweitern Eigene Freitextfelder für CC/BCC

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

Sonstiges | Redis / Memcache Memcache für die Sessions Locking ab 5.3 Redis für den Cache

Sonstiges | CDN / Media !! Vorsicht bei der Verwendung von CDN !! Stolperfalle: /media/.htaccess Der Sessionkiller bei CDN Benutzung Es droht Konversionverlust

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

Fazit Man kann noch einiges optimieren Events / Services verwenden Updates einspielen Nicht alles als gegeben hinnehmen Individuell an die Bedürfnisse anpassen