Server-Einstellungen - Nginx, PHP-FPM, ZendOpcache + APCu ..

Hallo liebe Shopwarianer, ich beschäftige mich seit ca. zwei Monaten mit Shopware. Nachdem ich mir unzählige Beiträge und Berichte durchgelesen habe, habe ich mich daran gemacht, meinen Root-Server neu aufzusetzen und es für Shopware zu optimieren. Mein System: - Ubuntu Server 14.04 LTS - nginx 1.8.0 - MariaDB 10.0.20 - PHP 5.6.10 - ionCube Loader - ZendOpcache + APCu In Planung zu Testzwecken: - memcached - Redis - Varnish (eventuell) - ngx_pagespeed - Modul Der Server wurde soweit konfiguriert und Shopware inkl. Demodaten bereits installiert. Nund möchte ich mich an die Feinjustierung machen und würde mich freuen, wenn Ihr mich dabei ein wenig unterstützen könntet. Meine Aktuellen ZendOpcache + APCu Einstellungen lauten wir folgt: sudo nano /etc/php5/mods-available/opcache.ini zend\_extension=opcache.so opcache.revalidate\_freq=0 opcache.validate\_timestamps=0 opcache.max\_accelerated\_files=12000 opcache.memory\_consumption=512 opcache.interned\_strings\_buffer=16 opcache.fast\_shutdown=1 sudo nano /etc/php5/mods-available/apcu.ini extension=apcu.so apc.enabled=1 apc.shm\_size=256M apc.ttl=7200 apc.enable\_cli=1 apc.gc\_ttl=3600 apc.entries\_hint=4096 apc.slam\_defense=1 apc.serializer=igbinary Ich habe nachdem ich die .ini Dateien modifiziert habe, keine Performancesteigerung feststellen können. Können die von mir vorgenommenen Einstellungen entfallen oder habt Ihr Verbesserungsvorschläge?

Hallo. :slight_smile: Ich würde zu Deiner Konfiguration php-fpm empfehlen. Dieses würde einen massiven “Schub” in der Performance bringen. Ich setze folgende Konfiguration ein: – 1. Nghttp2 (nghttpx als reinen Proxy). Dieser unterstützt die Protokolle: * h2 * h2-16 * h2-14 * spdy/3.1 * http/1.1 Das Protokoll h2, Nachfolger von http 1.1, bietet extreme Vorteile in Sachen Performance, Sicherheit und Serverkonfiguration. – 2. Nginx – 3. PHP-FPM – 4. ngx_pagespeed

Varnish bringt dir beim nginx nicht wirklich was. Außerdem unterstützt warscheinlich kein https. Und zu guter letzt ist es bei Varnish nicht mal eben getan mit installieren. Eine entsprechende Konfiguration anzulegen ist nicht simpel. Dazu hier auch ein guter Beitrag: https://timmehosting.de/blog/wie-sinnvo … -mit-nginx Zu Redis: Das wird dir soweit nichts bringen, da Shopware ja hier überhaupt nicht auf Redis setzt ( soweit ich es im Kopf habe ). Es gibt ein Shopware Plugin welches die Session im Redis Cluster speichert, dass war es dann aber auch. Redis wird dir also insoweit erst einmal nichts bringen. Auch hier gilt ja - Es bringt nichts das ganze einfach mal eben zu installieren. PageSpeed kann Vorteile bringen muss es aber nicht unbedingt und in manchen Fällen kann es die Performance sogar beeinträchtigen. Wenn du allerdings nginx + PHP 5.6 fpm hast mit OPCache sollte Shopware5 schon rennen. Hast du den Shop den vom Wartungs in den Produktivmodus gesetzt? Cachings aktiviert und auch den Cache aufgewärmt? Hast du auch einmal einen Benchmark durchlaufen lassen mit den verschiedenen Konfigurationen?

Wenn Deine Website komplett unter SSL läuft, kannst Du auch noch SPDY in nginx aktivieren, das macht sich bei der Ladezeit direkt bemerkbar. Du kannst alternativ natürlich auch Nghttp2 vor Deinen nginx schalten, wie Olaf schon geschrieben hat, allerdings erhöht es die Komplexität und ist eine zusätzliche Fehlerquelle.

Hallo, ich bedanke mich für Eure Antworten und möchte kurz auf die wichtigsten Punkte eingehen. @Olaf [quote]Ich würde zu Deiner Konfiguration php-fpm empfehlen.[/quote] Das ist natürlich auch installiert und eingerichtet. [quote]APCu, ZendOpCache, Memcached sind natürlich auch installiert und tun ihr bestes[/quote] Alle drei Komponenten sind bei mir auch installiert, jedoch habe ich Probleme bei der Einbindung von Memcached. Ich wäre Dir sehr dankbar, wenn du mir eventuell Tips zur Nginx-Konfiguration geben könntenst. [quote]… meinem Blog ein Tutorial zum einrichten mittels nghttp2 (nghttpx) geschrieben.[/quote] Finde ich sehr interessant. Ich werde jedoch abwarten, bis Nginx das von Haus aus unterstützt. @kayyy [quote]Varnish bringt dir beim nginx nicht wirklich was.[/quote] Ich hatte viele Beiträge und Anleitungen von Herrn Falko Timme gelesen, unter anderem auch das, worin es um den Einsatz von Varnish und Nginx geht. Daher werde ich sowohl Varnish als auch Redis nicht mehr in Betracht ziehen. [quote]PageSpeed kann Vorteile bringen muss es aber nicht unbedingt und in manchen Fällen kann es die Performance sogar beeinträchtigen.[/quote] Ich werde PageSpeed mal ausprobieren und einige Benchmark-Test laufen lassen, um zu sehen, in wieweit es Performancevorteile mit sich bringt. Was muss ich bei der Nutzung und Einbindung von PageSpeed beachten? [quote]Hast du den Shop den vom Wartungs in den Produktivmodus gesetzt? Cachings aktiviert und auch den Cache aufgewärmt?[/quote] Ja, alles erledigt. [quote]Hast du auch einmal einen Benchmark durchlaufen lassen mit den verschiedenen Konfigurationen?[/quote] Ja, folgende Ladezeiten kann ich bei meiner aktuellen Konfiguration messen. Shopware 5.0.1 inkl. Demodaten Ladezeit Startseite: 35 - 52 ms Ladezeit Listing: 55 - 71 ms Ladezeit Detailseite:62 - 82 ms Google PageSpeed: 89 / 100 YSlow: Grade A, Overall performance score 94 @TimmeHosting [quote]Wenn Deine Website komplett unter SSL läuft, kannst Du auch noch SPDY in nginx aktivieren, das macht sich bei der Ladezeit direkt bemerkbar.[/quote] Habe ich gerade schnell mal ausprobiert und bin begeistert! Danke!!! Mein System wird dann wohl folgendermaßen aussehen: - Ubuntu Server 14.04 LTS - nginx 1.8.0 - MariaDB 10.0.20 - PHP 5.6.10 - PHP-FPM - Zend OPcache + APCu - ionCube Loader - memcached (noch nicht Konfiguriert) - PageSpeed - ngx_pagespeed - Modul (noch nicht Konfiguriert) Ein paar Fragen hätte ich jedoch noch: - Sollte man für eine Produktivseite eher MariaDB oder doch MySQL einsetzen? - Ich habe bei meiner Vhost-Konfiguration, die Konfiguration von Herrn Benjamin Cremer übernommen. Kann man diese unbedenklich bei einer Produktivseite einsetzten?

[quote=“inonyman”] - Sollte man für eine Produktivseite eher MariaDB oder doch MySQL einsetzen?[/quote] Aus unserer sicht macht es keinen großen Unterschied. Wir haben verschiedene Benchmarks mit verschiedenen Konigurationen gefahren, und das Ergebnis war, daß MySQL beim Lesen leicht schneller als MariaDB ist (2 - 3%), während MariaDB im gleichen Maße Vorteile beim Schreiben hat. Der Unterschied ist so gering, daß er in der Praxis wohl kaum bemerkbar ist.