Neu Shop manchmal extrem langsam - php-fpm

tresor-online

Sehr aktives Mitglied
15. Juni 2015
445
34
Hallo zusammen!
Wir haben gerade unseren ersten Shop endlich von JTL Shop 3 auf JTL Sho 5 aktualisiert.
Soweit läuft auch alles ganz gut.
Nur ein großes Problem haben wir:
Der Shop ist immer wieder mal extrem langsam.
Unser Host All-Inkl sagt dazu folgendes:
Wir können feststellen, dass der Account, in dem die Domain liegt, hier öfters ins PHP-FPM-Limit läuft. Dieses Limit ist für jeden Server gleich und schützen diesen vor Überlastung durch einen einzelnen Kundenaccount.
Grundsätzlich bedeutet dies, dass sich PHP-Prozesse im Account aufstauen. Dadurch können keine neuen Prozesse mehr angestoßen werden. Dies resultiert in längeren Ladezeiten der Seite bis hin zum Abbruch des Aufrufs und somit zu zeitweise nichterreichbarkeiten.
Sie müssten hier Ihre Seite prüfen, um die eventuell langlaufenden PHP-Prozesse zu identifizieren und dann dementsprechend zu optimieren.
Es wurde auch eine Log-Datei erstellt, die Einträge erstellt, wenn das passiert.
Diese sehen dann so aus:
Code:
[20-Apr-2023 15:00:06]  [pool XXXXXXXX] pid 19308
script_filename = /www/htdocs/XXXXXXXX/tresor_online_at/io.php
[0x00007fcd1d2144f0] session_start() /www/htdocs/XXXXXXXX/tresor_online_at/includes/src/Session/AbstractSession.php:116
[0x00007fcd1d214480] start() /www/htdocs/XXXXXXXX/tresor_online_at/includes/src/Session/AbstractSession.php:82
[0x00007fcd1d2143f0] initCookie() /www/htdocs/XXXXXXXX/tresor_online_at/includes/src/Session/AbstractSession.php:36
[0x00007fcd1d214360] __construct() /www/htdocs/XXXXXXXX/tresor_online_at/includes/src/Session/Frontend.php:63
[0x00007fcd1d2142d0] __construct() /www/htdocs/XXXXXXXX/tresor_online_at/includes/src/Session/Frontend.php:51
[0x00007fcd1d214230] getInstance() /www/htdocs/XXXXXXXX/tresor_online_at/includes/globalinclude.php:120

Wir hatten so was ähnliches schon einmal im alten Shop, damals lag es an einem Plugin, ich habe dieses dann deaktiviert. Das Problem blieb aber bestehen.

Bin für jede Hilfestellung dankbar.
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
8.492
2.611
Berlin
Firma
css-umsetzung
Ich würde über die config datei zuerst die Bad bots aussperren.
Dann würde ich schauen ob es nicht mehr Sinn macht auf einen eigenen Server zu gehen, ab einer bestimmten Menge an Usern macht ein normales Hosting keinen Sinn mehr.
 

tresor-online

Sehr aktives Mitglied
15. Juni 2015
445
34
Ich würde über die config datei zuerst die Bad bots aussperren.
Hier würde ich gerne mehr Information dazu bekommen, was wie wo da zu tun ist ;)

@eigener Server: ja, das ist immer wieder mal im Gespräch, aber eigentlich haben wir nicht so viele User.
Außerdem tritt das Problem ja jetzt erst auf seit wir von JTL Shop 3.20 (spät aber doch) auf JTL Shop 5.1.5 umgestellt haben.
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
8.492
2.611
Berlin
Firma
css-umsetzung
Wenn dein Hoster sagt das zu viele Prozesse gestartet dann gibt es ja eben verschiedene Möglichkeiten, vier davon sind eben

  1. Schlechte Shop Konfiguration
  2. Zu klein dimensioniertes Hosting
  3. Extrem viele Zugriffe über Bad Bots
  4. Extrem viele Besucher
Bei dir, wenn ich mir die eine Seite anschaue würde ich eventuell auf eine schlechte Konfiguration tippen, beim Aufruf der Seite (hab nur grob geschaut ohne das richtig zu analysieren muss jemand genauer anschauen) werden 68 JavaScripts geladen, dass ist schon ein wenig viel.

Das der Shop selbst das Problem ist glaube ich nicht, dann hätten wir wir hier einen Ansturm von Meldungen das Hoster ausflippen, daher wird es mindestens einer dieser Punkte sein.


Das hier unten am Ende der config Datei einfügen dann hast du das grobe schon mal ausgesperrt so das die keine unnötigen Ressourcen fressen.
Code:
if(preg_match("/Mb2345Browser|LieBaoFast|zh-CN|MicroMessenger|zh_CN|Kinza|MJ12bot|AhrefsBot/",$_SERVER['HTTP_USER_AGENT'])) {
    header('HTTP/1.0 403 Forbidden');
    die("zugriff nicht erlaubt");
}
 
  • Gefällt mir
Reaktionen: tresor-online

tresor-online

Sehr aktives Mitglied
15. Juni 2015
445
34
Wenn dein Hoster sagt das zu viele Prozesse gestartet dann gibt es ja eben verschiedene Möglichkeiten, vier davon sind eben

  1. Schlechte Shop Konfiguration
  2. Zu klein dimensioniertes Hosting
  3. Extrem viele Zugriffe über Bad Bots
  4. Extrem viele Besucher
Bei dir, wenn ich mir die eine Seite anschaue würde ich eventuell auf eine schlechte Konfiguration tippen, beim Aufruf der Seite (hab nur grob geschaut ohne das richtig zu analysieren muss jemand genauer anschauen) werden 68 JavaScripts geladen, dass ist schon ein wenig viel.

Das der Shop selbst das Problem ist glaube ich nicht, dann hätten wir wir hier einen Ansturm von Meldungen das Hoster ausflippen, daher wird es mindestens einer dieser Punkte sein.


Das hier unten am Ende der config Datei einfügen dann hast du das grobe schon mal ausgesperrt so das die keine unnötigen Ressourcen fressen.
Code:
if(preg_match("/Mb2345Browser|LieBaoFast|zh-CN|MicroMessenger|zh_CN|Kinza|MJ12bot|AhrefsBot/",$_SERVER['HTTP_USER_AGENT'])) {
    header('HTTP/1.0 403 Forbidden');
    die("zugriff nicht erlaubt");
}
Vielen dank für die Anhaltspunkte.
Den Punkt mit der Shop Konfiguration werde ich mir auf alle Fälle gleich mal anschauen bzw. weiterleiten.

Danke auch für den Code, werde ich auch einbauen.
Nur damit ich hier auf Nummer Sicher gehe: Mit der config Datei meinst du die includes/config.JTL-Shop.ini.php, oder?
 

tresor-online

Sehr aktives Mitglied
15. Juni 2015
445
34
perfekt, danke!
Jetzt muss ich aber noch fragen, wenn ich schon Code, den ich nicht verstehe in meinen Shop einbaue: 😅
was macht der Code genau?
 

mh1

Sehr aktives Mitglied
4. Oktober 2020
1.858
560
Das hier unten am Ende der config Datei einfügen dann hast du das grobe schon mal ausgesperrt so das die keine unnötigen Ressourcen fressen.
Code:
if(preg_match("/Mb2345Browser|LieBaoFast|zh-CN|MicroMessenger|zh_CN|Kinza|MJ12bot|AhrefsBot/",$_SERVER['HTTP_USER_AGENT'])) {
    header('HTTP/1.0 403 Forbidden');
    die("zugriff nicht erlaubt");
}
Und wenn man diesbezüglich noch ein bisschen mehr an der Performance Schraube rumspielen will, könnte man solche Dinge direkt vom Webserver machen lassen, damit die Bots ihr 403 schon kriegen, bevor die Anfrage auf den PHP Prozess trifft. Also im Falle von Apache die Regeln direkt in die httpd.conf oder wenn man da nicht drankommt in eine .htaccess schreiben.
Noch besser wäre diese Regeln schon in der Firewall zu haben, damit die Bots schon abgewiesen werden, bevor die Anfrage auf dem Webserver aufschlägt. Aber vermutlich hast du in deinem Tarif gar keinen Zugriff auf die Firewall.
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
8.492
2.611
Berlin
Firma
css-umsetzung
Das habe ich damals erstellt als Shops durch Bots lahmgelegt wurden, es schaut auf den Useragenten und wenn das was da steht drin vorkommt dann wird der Shop gar nicht erst aktiv

zu mh1:
ich bin da anderer Meinung, weil die .htaccess bei jedem Zugriff schauen muss ob es eine Berechtigung gibt. Aber das muss jeder für sich entscheiden.
 

tresor-online

Sehr aktives Mitglied
15. Juni 2015
445
34
also bezüglich httpd.conf müsste ich bei meinem Host nachfragen, ob das geht, oder?
ob der Einbau in .htaccess oder config Datei besser ist lass ich euch ausdiskutieren, da kenn ich mich nicht aus ^^
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
8.492
2.611
Berlin
Firma
css-umsetzung
An die hhtp conf wirst du nicht herankommen und die werden die für dich auch nicht ändern.

Ich bin gegen die htaccess, weil der Apache mit jedem Aufruf, den ein regulärer Kunde macht, prüft ob er das darf, daher ist das für mich eher ein Performancekiller als ein php Process denn,
der gleich nachdem er gestartet wurde wieder beendet wird, denn letztendlich möchtest du ja nur die Last verringern die der Shop verursacht die die ganzen Berechnungen zum rendern der Seiten und die vielen SQL Querys verursachen.

Aber das muss wirklich jeder für sich entscheiden und in deinem Fall ist es ja noch die Frage was dein wirkliches Problem ist.
Das hier ist ja nur eine der vielen Möglichkeiten die ich eben, neben der Überprüfung der Konfiguration zuerst in Angriff nehmen würde.
 

tresor-online

Sehr aktives Mitglied
15. Juni 2015
445
34
Alles klar. Nochmal danke! Ich hab es jetzt auf alle Fälle mal in die config.ini eingebaut, nutzt es nix, schadet es nix ;)
Konfiguration ist als nächstes drann.

Eine allgemeine Frage:
wir haben ja jetzt nach dem update zur Zeit Shop 5.1.5 und PHP 7.4
Könnte ein update auf Shop 5.2 und PHP 8.1 auch diesbezüglich einen positiven Effekt haben? Muss hier aber noch alle plugins prüfen, ob die bereit sind.
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
8.492
2.611
Berlin
Firma
css-umsetzung

tresor-online

Sehr aktives Mitglied
15. Juni 2015
445
34
Ja, das ist soweit schon klar.
Aber gesetzt dem Fall, dass alle Plugins ohne ioncube laufen?
Dann könnte ich doch auf 5.2/8.1 wechseln oder?
Würde aber keine Vorteile in dem Fall bringen?
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
8.492
2.611
Berlin
Firma
css-umsetzung
Wenn du gleichzeitig auf 5.2 wechselst und alle Plugins kompatibel sind dann ja, das solltest du aber vorher mit solution klären, ich meine ich hätte bei dem Shop den ich angeschaut habe ein solution Template gesehen.
 

tresor-online

Sehr aktives Mitglied
15. Juni 2015
445
34
Jap, ist richtig, wir verwenden das esyTemplate.
Von dem her würde es auch gehen.
Aber die ganzen Plugin-Hersteller muss ich noch klären, bei den meißten weiß ich, dass sie PHP 8.1 ready sind, also ohne ioncube, aber die Bestätigung hab ich noch nicht von allen.
Aber gut, eins nach dem andern, erstmal schauen, dass alles gut läuft.
 

mh1

Sehr aktives Mitglied
4. Oktober 2020
1.858
560
Das habe ich damals erstellt als Shops durch Bots lahmgelegt wurden, es schaut auf den Useragenten und wenn das was da steht drin vorkommt dann wird der Shop gar nicht erst aktiv

zu mh1:
ich bin da anderer Meinung, weil die .htaccess bei jedem Zugriff schauen muss ob es eine Berechtigung gibt. Aber das muss jeder für sich entscheiden.
Ich denke, wir sind da gar nicht so sehr anderer Meinung. Denn ich bin auch kein Freund von Overrides. Wenn ich aus irdendeinem Grund den Apache als Webserver einsetzen muss, verziche ich auf den Gebrauch von .htaccess Dateien und baue Regeln lieber in die httpd.conf, denn die wird nur einmal beim restart oder reload gelesen.
Ich wollts nur erwähnen, da es in dem Thread darum ging, den PHP Prozess zu entlasten (hier php-fpm).
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Suche Workflow: Erstbestellung Shop auf Rechnung -> Auftrag Zurückhalten JTL-Wawi - Ideen, Lob und Kritik 1
Neu Neues Plugin: Erweiterter Widerrufsbutton für JTL-Shop Plugins für JTL-Shop 9
Neu [Suche 5 Beta-Tester] KI generiert JTL Shop 5 Templates per Beschreibung – kostenlos testen Templates für JTL-Shop 7
Neu Shop gesperrt - Webspace überschritten - Zusatzspace buchen bringt Fehler - Support fühlt sich nicht zuständig Betrieb / Pflege von JTL-Shop 7
Neu Telemetrie-Datenerfassung in JTL-Shop 5.7.0: Bitte um Klarstellung der DSGVO-relevanten Aspekte Allgemeine Fragen zu JTL-Shop 4
Neu GPSR Hersteller werden im Shop nicht angezeigt User helfen Usern - Fragen zu JTL-Wawi 2
Neu Nach Update auf 1.11.9 - alle Shopify Shop nicht mehr connected Shopify-Connector 4
Neu Shop 5.7 update empfhalen Installation / Updates von JTL-Shop 13
Plattformabgleich Shop löschen - Wo ist das in der MySQL DB? JTL-Wawi 2.0 4
Neu Funktioniert Shop 5.7 mit MariaDB 10.5.29? Installation / Updates von JTL-Shop 1
JTL Shop 4 Upgrade auf 5.5.0 --> Fehler 500 Upgrade JTL-Shop4 auf JTL-Shop5 3
JTL Shop 4 Upgrade auf 5.5.0 --> Fehler 404 Upgrade JTL-Shop4 auf JTL-Shop5 11
Neu JTL Shop 5 und Klarna Plugins für JTL-Shop 0
Neu JTL Shop 5.7 - Widerrufsbutton im B2B Templates für JTL-Shop 14
Neu Dropdown jtl shop länge einstellen Allgemeine Fragen zu JTL-Shop 2
JTL-Shop 5.7.0 Widerrufsbutton Einrichtung JTL-Shop5 30
Update auf Shop 5.5.0 von 5.4.1 ist der Shop nicht mehr erreichbar Upgrade JTL-Shop4 auf JTL-Shop5 4
Neu Merkmale Shop an oder Aus Allgemeine Fragen zu JTL-Shop 1
Neu JTL Shop Template Snackys Bildgrößen einstellen Templates für JTL-Shop 1
Neu Kategorie Listenansicht: Shop-Skript berechnet Höhe "falsch" Technische Fragen zu Plugins und Templates 5
Neu JTL-Shop 5.7 - Aktuell 5.7.1 Releaseforum 1
Neu Gratisgeschenke im JTL Shop nicht wirklich nutzerfreundlich. Allgemeine Fragen zu JTL-Shop 4
Neu Probleme mit Ninepoint und TikTok Shop Schnittstellen Import / Export 6
Tabelle tfirma in der Shop-Datenbank ist leer Einrichtung JTL-Shop5 3
Geänderte Preise kommen nur teilweise in den Shop JTL-Wawi 1.11 6
Neu Eigene Artikel Felder im JTL Shop anzeigen lassen User helfen Usern - Fragen zu JTL-Wawi 4
Neu Hilfe bei der Entwicklung gesucht: Werde Tester für meine JTL-Shop Plugins Plugins für JTL-Shop 0
Neu JTL-Shop "Plugin-Vorlage" gesucht User helfen Usern 3
Neu JTL - Shop Adressprüfung - Erfahrungen ? Allgemeine Fragen zu JTL-Shop 2
Neu Wo ist JTL-Debug geblieben? Shopvariablen beim Shop-/Templateentwicklung sichtbar machen? Plugins für JTL-Shop 10
Neu Problem nach Update auf Shop 5.6.1 - Impressum JTL-Shop - Fehler und Bugs 2
Neu Alte Produktbilder erscheinen im JTL-Shop trotz Löschung und neuem Upload immer wieder – JTL-Wawi enthält nur neue Bilder JTL-Wawi - Fehler und Bugs 16
Shop Apotheke Bestellungen seit Update als „nicht bezahlt“ – Versand blockiert JTL-Wawi 2.0 8
Neu JTL Shop 5 Sync in JTL WAWI 2.0.0 zeigt Verbindungstest Fehlermeldung Onlineshop-Anbindung 4
Neu Rechnung im JTL Shop Kundenkonto Onlineshop-Anbindung 1
Neu Strukturierte Daten vom Typ "Produkt" werden nach Update auf JTL Shop 5.6.1 nur fehlerhaft erkannt JTL-Shop - Fehler und Bugs 3
Neu Wero für den JTL Shop? Plugins für JTL-Shop 21
Neu JTL-Shop Verkauf - Tipps? Business Jungle 5
Neu CSS GeoIP MwSt.-Finder 2.7.1 verhindert das Anlegen von Shop-Kundenkonten aus der Wawi Plugins für JTL-Shop 1
Shop 5.5.3 / Eingabefelder auf IOS zoomt immer :-( Einrichtung JTL-Shop5 6
Neu Beim Versuch Paypal-Plugin mit Paypal-Konto zu verbinden Shop nicht mehr erreichbar Plugins für JTL-Shop 2
Neu Kategoriestruktur auf JTL-Wawi in WooCommerce Shop darstellen WooCommerce-Connector 2
Neu Name der Versandart im Shop anzeigen Allgemeine Fragen zu JTL-Shop 36
Neu Shop 5.6.1: Probleme beim Entfernen von Artikeln aus dem Warenkorb JTL-Shop - Fehler und Bugs 5
Neu Rückverfolgung des Verkaufskanal bei Angeboten aus dem Shop User helfen Usern - Fragen zu JTL-Wawi 3
Neu Shop Bestellungen und Abonnements möglich? User helfen Usern - Fragen zu JTL-Wawi 1
Neu DSGVO – Automatisierte Löschung von Kundendaten nach 10 Jahren (JTL-Wawi / JTL-Shop) User helfen Usern - Fragen zu JTL-Wawi 2
Neu Rückverfolgung des Verkaufskanal bei Angeboten aus dem Shop Eigene Übersichten in der JTL-Wawi 0
Artikel Eigene Felder kommen nur beim ersten Shopabgleich in den JTL-Shop JTL-Wawi 1.11 2
Neu welche Sync Benutzer Daten in Shop und WAWI bei neu-Hosting über JTL Allgemeine Fragen zu JTL-Shop 0

Ähnliche Themen