Neu Shop manchmal extrem langsam - php-fpm

tresor-online

Sehr aktives Mitglied
15. Juni 2015
442
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.306
2.505
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
442
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.306
2.505
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
442
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
442
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.851
556
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.306
2.505
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
442
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.306
2.505
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
442
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.306
2.505
Berlin
Firma
css-umsetzung

tresor-online

Sehr aktives Mitglied
15. Juni 2015
442
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.306
2.505
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
442
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.851
556
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 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 3
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 1
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
welche Sync Benutzer Daten in Shop und WAWI bei neu-Hosting über JTL JTL-Wawi 1.11 0
Neu Zusatzartikel, Stückliste, Variation den Kunden direkt mit anbieten (Shop/Ebay) User helfen Usern - Fragen zu JTL-Wawi 6
Neu OPC friert beim speichern von Änderungen ein nach JTL-Shop Update von Version 5.1.5 auf 5.6.1 JTL-Shop - Fehler und Bugs 0
Neu Synchronisation mit Shop mit Fehlern beendet Onlineshop-Anbindung 17
Neu WaWi - JTL Shop - Kein Abgleich des Artikelnamen möglich Onlineshop-Anbindung 1
Neu wie Wawi eigene Felder (Kunden) an Shop DB übertragen? User helfen Usern - Fragen zu JTL-Wawi 3
Neu Kurzbeschreibung fehlt im ebay-Shop eBay-Anbindung - Fehler und Bugs 1
Neu Wawi Synchronisation mit JTL Shop nicht möglich! seit 3 Stunden was kann man machen? Onlineshop-Anbindung 1
Serienmails aus dem Shop nach Kundenimport Einrichtung JTL-Shop5 0
Neu Fehlermeldung Steuersätze sind nicht im Shop Schnittstellen Import / Export 0
Neu Neues Plugin: Sauberes Meta-Tracking für JTL-Shop 5 (Pixel + CAPI + Consent) Plugins für JTL-Shop 0
Neu 📢 Plugin "Kreditlimit Plugin für JTL-Shop 5 " von CIN GmbH Plugins für JTL-Shop 0
Zweiter Shop an gleichem Mandanten nur für USA JTL-Wawi 1.11 1
Neu Wechsel von JTL Shop 5 zu Shopify / ERP-Connector Produkte mit Variationen werden nicht übertragen Shopify-Connector 1
Neu JTL-Connector + Shopware 6: Zweite Lizenz führt zu „Invalid credentials“ und blockiert bestehenden Shop Shopware-Connector 3
Neu Serverwechsel und kurzzeitig zwei Shop-URLs Installation von JTL-Wawi 2
Kategorie lässt sich nicht löschen im Shop JTL-Wawi 1.10 2
Neu Betatester gesucht – Hood-Schnittstelle für JTL-Shop 5 Plugins für JTL-Shop 3
Neu JLT Shop Update 6.1 von 5.5.3 - Fehlgeschlagen Installation / Updates von JTL-Shop 5
Neu Nachnahme im JTL-Shop – Best Practices zur Vermeidung von Nichtannahmen User helfen Usern - Fragen zu JTL-Wawi 1
Neu Doppelte Kundendaten in der Shop Datenbank Technische Fragen zu Plugins und Templates 6
Neu JTL-Shop 5.2.3 – Google-Shoppin-Plugin 2.3.0: Mehrere Rückgaberichtlinien (DE + Ausland) bei einem Feed / return_policy_label Plugins für JTL-Shop 0
Neu JavaSript im Shop 5 Allgemeine Fragen zu JTL-Shop 8
Neu JTL SHOP 5.6 und Konfigurationsartikel Allgemeine Fragen zu JTL-Shop 0
Neu Neues E-Commerce Business mit JTL Wawi - Jtl Shop - Lexware Office (online) - Fragen Starten mit JTL: Projektabwicklung & Migration 2

Ähnliche Themen