Neu Shop manchmal extrem langsam - php-fpm

tresor-online

Sehr aktives Mitglied
15. Juni 2015
446
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.576
2.667
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
446
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.576
2.667
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
446
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
446
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.873
562
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.576
2.667
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
446
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.576
2.667
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
446
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.576
2.667
Berlin
Firma
css-umsetzung

tresor-online

Sehr aktives Mitglied
15. Juni 2015
446
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.576
2.667
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
446
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.873
562
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 DSVGO konform 1000 Kunden in WaWi und Shop löschen! User helfen Usern - Fragen zu JTL-Wawi 1
Neu 500er Fehler im Shop nach aktivierung des Nova Child Templates für JTL-Shop 3
Neu JTL Shop Plugin - BD Automatisierter Widerruf (Von Händler für Händler - Schluss mit Mail-Chaos & Spam-Sorgen!) Plugins für JTL-Shop 0
Neu Rechte-Fehler im J10n Modul und Auswirkung auf base.mo.php in div. Plugins (Shop 5.7.1) JTL-Shop - Fehler und Bugs 0
Neu Welche JTL Shop Plugins oder kleinen Hilfstools würden euch im Alltag wirklich helfen? Plugins für JTL-Shop 0
Beantwortet Shop Abgleich nach Update auf 5.7.2 nicht mehr möglich JTL-Shop - Fehler und Bugs 4
Neu Shop zeigt keine Artikel mehr Fehler 500 Betrieb / Pflege von JTL-Shop 9
Neu Shop 5.7.1 und Downloadmodul Allgemeine Fragen zu JTL-Shop 2
Neu Plugin: JTL Exportformat Google Shopping gibt <g:google_product_category> unter Shop 5.7.1 und Wawi 2.0.4 nicht aus Plugins für JTL-Shop 1
Neu Widerrufsbutton für JTL-Shop 4 Allgemeine Fragen zu JTL-Shop 17
Neu Rabatte aus dem JTL-Shop werden in der Wawi nur als Netto-Preis übernommen, Rabatt % gehen verloren Onlineshop-Anbindung 0
Neu Laut Backend Shop Update für Shop 5.71 - Download nicht zu finden? Betrieb / Pflege von JTL-Shop 3
Neu Kategorie erscheint nicht im Shop Allgemeine Fragen zu JTL-Shop 5
Neu JTL-Shop - Wechsel von Test zum Livebetrieb - was beachten ? Installation / Updates von JTL-Shop 2
Neu Meta Shop seit September 2025: JTL-Lösung für neue Checkout-URL gesucht Allgemeine Fragen zu JTL-Shop 0
Rabatt Coupons in Verbindung mit Staffelpreisen - JTL 1.11.9, JTL Shop JTL-Wawi 1.11 0
Neu Shop-Update auf 5.7.1: Sprachvariablen im Widerrufsformular werden nicht erkannt, obwohl vorhanden?! JTL-Shop - Fehler und Bugs 3
Fehler beim Abgleich mit dem JTL-Shop JTL-Wawi 2.0 12
Neu OnFinds: KI-Suche für JTL-Shop mit fairer Abrechnung nach Artikelanzahl. 30 Tage kostenlos testen Plugins für JTL-Shop 0
Neu Freelancer für JTL-Wawi, Shop & Prozessautomatisierung Dienstleistung, Jobs und Ähnliches 2
Neu JTL Shop 5.7.1 mit Fehlern - versandarten zahlungsarten nicht änderbar, leere weiße Seite JTL-Shop - Fehler und Bugs 5
Neu Massiver jtl-shop-cron aufruf JTL-Shop - Fehler und Bugs 7
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 5
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 18
Neu Dropdown jtl shop länge einstellen Allgemeine Fragen zu JTL-Shop 2
JTL-Shop 5.7.0 Widerrufsbutton Einrichtung JTL-Shop5 43
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.2 Releaseforum 2
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

Ähnliche Themen