php 5.6 vs php7: Ergebnisse meiner Stresstests

Hallo Zusammen,

ich bin gerade dabei, verschiedene managed vServer Angebote eines Hosters auf einem Testserver zu testen, um
das richtige Paket zu finden. Dabei habe ich Strestests mit loader.io gemacht und dabei auch php5.6 mit php7 verglichen.
Die Ergebnisse haben mich sehr überrascht. Daher wollte ich sie hier einfach mal teilen und nach Euren Erfahrungen fragen.
Vielleicht sind meine Tests auch nicht aussagekräftig. Ich würde mich über Feedback freuen.

Hier ist das Testsetup:

  • vServer: 1 Cpu mit 8Gb Ram, nginx
  • 3 identische Shopware Shops mit ca. 2100 aktiven Artikeln im Produktivmodus mit aufgewärmten Caches
  • Stresstest mit loader.io mit einer fest einstellbaren Anzahl von aktiven Nutzern pro Sekunde (Test type: clients per second)
  • Aufgerufen wurden im Test jeweils hunderte von unterschiedlichen Produktdetailseiten und Kategorien

Test 1: parallel in den 3 Shops 5-10 Besucher pro Sekunde, alle Shops unter php5.6.8:

Man sieht, dass 5 Besucher pro Sekunde parallel in den 3 Shops noch gut funktionieren (Response unter 500ms), aber bei 10
Besuchern pro Sekunde geht es hoch auf 3-5s. Dies ist übrigens auch so, wenn ich nur einen einzelnen Shop unter Stress setze.
Die Anzahl der parallelen Shops scheint merkwürdigerweise keine so grosse Rolle zu spielen. Hat das etwas mit dem memory limit zu tun?


Test 2: parallel in den 3 Shops 10-20 Besucher pro Sekunde, alle Shops unter php7.09:
Dies ist für mich eine grosse Überraschung: Daduch, dass ich in diesem Test alle Shops mit php7 betreibe, bleiben die Responsezeiten für 10 Besucher pro Sekunde in allen drei Shops unter 500ms. Nur bei 20 Besuchern pro Sekunde geht die Responsezeit über 1s. Das spricht wirklich sehr für einen Einsatz von php7!

Was haltet Ihr davon?

Gruss,

Jens

@frimipiso schrieb:

Was haltet Ihr davon?

Ich hab so etwas in einer rudimentäreren Ausführung auch gemacht: http://shopware-blog.com/shopware-5-in-verbindung-mit-php-7/. Damals noch mit einem RC von php 7

Wenn es eben möglich ist sollte man meiner Meinung nach unbedingt php7 einsetzen. 
 

Ich kann da Thomas nur zustimmen - Wenn man die Möglichkeit hat, sollte man unbedingt auf PHP7 setzen, was deine Testergebnisse wie viele anderen natürlich auch bestätigen  Wearing-Sunglasses

Aber cool: loader.io kannte ich noch gar nicht  Thumb-Up

Habe mal auf meinem Test Server getestet - PHP 7.1 mit 20 Besuchern pro Sekunde für 1 min. Durchschnittlich 122ms Response Time. Aber nur die Startseite. Mit einer Listen Ansicht aus der Demo Installation ~ 312ms. Bei Listenansicht + eine Detail ~ 326ms. Mehr Client Requests braucht man den Pro Account  Frown

Morgen zusammen,

wie bekomme ich am schnellsten raus, welche Plugins noch nicht PHP7 kompatibel sind, bzw. neu installiert werden müssten?

Errorlog? Wäre natürlich cool, wenns im Pluginmanager eine Spalte hierfür gäbe, die die Plugins entsprechend anzeigt, die
PHP 7 fähig sind.

Viele Grüße,

Chris

Dass php7 schneller ist wusste ich auch vorher, aber dass man die Kapazität des Servers (Besucher/Sekunde bei Responsezeit < 1s) damit so verbessern kann, hätte ich nicht gedacht. 

Ich habe jetzt gelernt, dass man einen php5.6 Shop erstmal auf php7 updaten sollte, bevor man zusätzliche Serverrsourcen bucht (mehr cpu oder Ram).

Loader.io ist wirklich gut. In der kostenlosen Variante kann man 1 Minute lang 10.000 Benutzer auf eine Seite loslassen und schauen, was passiert. Nicht zu empfehlen für Shared Hosting, sonst ärgert man die Servernachbarn. :slight_smile:

@frimipiso schrieb:

Dass php7 schneller ist wusste ich auch vorher, aber dass man die Kapazität des Servers (Besucher/Sekunde bei Responsezeit < 1s) damit so verbessern kann, hätte ich nicht gedacht. 

Ich habe jetzt gelernt, dass man einen php5.6 Shop erstmal auf php7 updaten sollte, bevor man zusätzliche Serverrsourcen bucht (mehr cpu oder Ram).

Loader.io ist wirklich gut. In der kostenlosen Variante kann man 1 Minute lang 10.000 Benutzer auf eine Seite loslassen und schauen, was passiert. Nicht zu empfehlen für Shared Hosting, sonst ärgert man die Servernachbarn. :slight_smile:

Sehr sehr viele Kunden haben nichtmal eine Ahnung, wieviel Auslastung deren Server hat. Ein sehr großer Teil benötigt nicht einmal einen eigenen Server, denn die Auslastung liegt da dann oft bei nichtmal 5%. Ein kleiner virtueller Server reicht hier bei den meisten in der Regel völlig.

Die Kunden denken dann einfach - „Oh - Shop ist langsam, brauche jetzt direkt nen Server mit 64 GB RAM, 10 CPU`s usw.“. Oft einfach totaler Blödsinn. Ich habe hier auch nen 8 EUR VPS und der hat auch mit 100 Clients pro Sekunde eine Response Time von 284ms.

Aber ja: loader.io is super :slight_smile: Kannte da noch einen anderen Service, aber die haben wohl keine neuen Kunden mehr aufgenommen.

@coarsy schrieb:

wie bekomme ich am schnellsten raus, welche Plugins noch nicht PHP7 kompatibel sind, bzw. neu installiert werden müssten?

Errorlog? Wäre natürlich cool, wenns im Pluginmanager eine Spalte hierfür gäbe, die die Plugins entsprechend anzeigt, die
PHP 7 fähig sind.

Wenn die Plugins Quelloffen sind könntest Du hiermit: GitHub - sstalle/php7cc: PHP 7 Compatibility Checker diese auf eine php7 Kompatiblität prüfen lassen. 

Bzgl. PHP7: Also so viele deprecated Änderungen gibt es nicht, daher sollte in aller Regel erst einmal jedes Plugin mit PHP7 kompatibel sein.

 

Ja, das ist mir klar, bei den Dingern mit Ioncube tritt natürlich erst das Kompatibilitätsproblem auf. Eigentlich müsse ich im Errorlog doch sehen,
ob ich eine Extension neu installieren muss, bzw. welche konkret betroffen ist.

So, war natürlich im Errorlog zu sehen :slight_smile: Shop läuft nun auf der 7. Wie ist eigentlich so Euer Wert bei Page Insights? Ich komme bei Mobil auf 63 und beim Desktop auf 75. Hat hier jemand eine Idee, wie man das HTML noch verringern kann? Über Smarty wäre es doch ne Möglichkeit, den Output noch zu Trimmen…