Probleme beim Laden des Shop Frontends, White Screens (unregelmäßig)

  • Hallo zusammen,


    hier eine Zusammenfassung meines Problems.

    Ich hoffe, dass hier jemand eine Idee hat, wie es zu lösen wäre oder zumindest in welche Richtung die Ursache gehen könnte.

    Leider muss ich sagen, dass mir das Problem ausschließlich von meinen Kunden mitgeteilt wurde, ich selbst hatte es bislang nie.


    Problem:

    White Screens ohne Fehlermeldung im Frontend meines Shops.


    Auftauchen des Problems:

    Völlig unspezifisch. z.B., wenn ein Produkt in den Warenkorb gelegt wurde oder aber wenn lediglich ein Produkt angeklickt wurde.
    Oder aber, wenn einfach die Domain des Shops aufgerufen wurde.


    Regelmäßigkeit des Problems:

    Sehr unregelmäßig, ich konnte dieses Problem bislang auch nicht selbst feststellen.

    Lediglich Kunden meines Shops haben es mir berichtet (nicht zu wenige).

    Mir gelang es bislang auch nicht, das Problem nachzustellen.


    Versuche, das Problem nachzustellen:

    • Aufruf einer Vielzahl von Produkten
    • Produkte in den Warenkorb legen
    • Checkout-Prozess
    • unterschiedliche Browser und Endgeräte

    Das Problem konnte ich leider nicht nachbilden. Ich bekam nie eine weiße Seite zu sehen.


    Verschwinden des Problems:

    • wenn nach einiger Zeit die Seite neu geladen wird. Produkte, die in den Warenkorb gelegt wurden, sind dann jedoch verschwunden.


    Ansatz / Ideen zur Ursache:

    • Überlastung des Servers?
    • Überlastung der Datenbank?
    • Cache voll?


    Meine Frage an die Community: woran könnte es liegen?

    Falls es an Server, Datenbank, Cache oder sonstigem liegt: wie kann ich dies nachvollziehen und beheben?

    Ich wüsste zumindest gerne wo ich ansetzen kann, da ich aktuell komplett im Dunkeln tappe.


    Vielen Dank im Voraus für jede Hilfe!

  • Hallo,


    vielen Dank für die rasche Antwort!


    System:

    Joomla!: 3.8.13

    VirtueMart: 3.6.8 10197

    PHP-Version: 7.2.25

    Datenbankversion: 5.5.60-0+deb7u1-log

    Datenbanktyp: mysql

    Hoster: IONOS (1&1)


    Cache-Einstellungen laut configuration.php:

    public $cache_handler = 'file';

    public $cachetime = '60';

    public $caching = '0';


    Demnach ist der Joomla-Cache eigentlich deaktiviert.


    VirtueMart-Cache gibt es dennoch, wenn ich über "System" > "Cache leeren" schaue, finde ich vor:

    _virtuemart 1,70 kB

    com_customfilters.input 70,00 b

    com_virtuemart_cat_childs 19,57 kB

    mod_cf_filtering.categories 72,47 kB

    mod_virtuemart_product 396,79 kB


    Das sind eigentlich auch nicht allzu große Cache-Dateien.


    Das Problem tritt jedoch bereits seit einigen Monaten auf, daher bin ich nicht sicher, ob es wirklich direkt mit VirtueMart- oder Joomla-Versionen etwas zu tun hat.


    Edit:

    In der log-Datei (com_virtuemart.log.php) ist häufig ein Eintrag zu finden:

    Code
    1. 2019-11-18 13:56:26 ERROR vmError: Max execution time reached in model product getProduct()1008405

    Die Nummer ganz hinten ist immer eine andere.

    Für genau einen Zeitstempel gibt es teilweise ca. 24 Zeilen, teilweise mit gleichen Nummern, teilweise mit unterschiedlichen.


    Edit2:

    Ich habe gerade noch einmal die üblichen Werte in PHP-Informationen im Joomla-Backend geprüft und mit einem php-Script, indem ich die phpinfo anzeigen lasse, verglichen. Das Script liegt im Shop-Ordner, müsste also identische Werte wie die Joomla-Config haben. DIe Werte sind jedoch deutlich unterschiedlich:

    Variable Joomla Systeminformationen phpinfo() via php-Script
    max_execution_time 50000 30
    memory_limit -1 128M


    Müssten diese Werte nicht identisch sein?! Welche Werte stimmen nun?

  • Hm, was das execution time Problem betrifft, bleibt die Frage, ob die Weiße Seite sofort erscheint oder erst nach einer bestimmten Zeit.

    Der Datenbaktyp sollte jedenfalls auf MySQLi geändert werden. Wurde auch hier mal irgendwo besprochen. MySQLi läuft zumindest stabiler ab PHP 7.


    Es wird schwer, aus der Ferne das Problem zu bearbeiten. Es kann aber auch das Template oder Framework die Ursache sein. Welches wird denn verwendet?

    Gibt es n Link zum Shop?


    Edit: Lief der Shop vorher Problemlos? Oder traten die Fehler erst nach einer gewissen Zeit oder auch nach einem Update einer anderen Koponete auf?

    Ich persönlich habe immer etwas Magenschmerzen beim Hoster 1&1. Für ne kleine Webseite mag es ja ok sein. Aber für n Shop? Ich weiß nicht recht, ist nur so ein privates Gefühl.

  • Ich tippe auf Serverüberlastung durch Search Bot Zugriffe oder Hackerattacken. Das sollte in den Server-Logs ersichtlich sein.

    Wieviele Produkte gibt es?

    Oft werden zig Anfragen pro Minute gesendet, bei vielen Produkten geht das dann an die Substanz des Servers.

    Google und Bing zusammen können schon mal wie ein DDoS-Angriff wirken.


    30 Sekunden für das Timeout ist relativ gering, sollte mindestens 60 oder 90 sein.

    128 MB Speicher ist gerade so am Limit, mit 256 MB fährt man auf der sicheren Seite.


    Einige meiner Kunden sind inzwischen bei Michael Schulze, er bietet vernünftiges Hosting mit wenigen Installationen pro Server an. Ein großerer Shop läuft sogar auf einem eigenen Server, das ist dann allerdings etwas zu teuer für einen kleinen bis mittleren Shop.

    Bei 1und1 mögen es mehrere hundert pro Server sein. Bei Michael Schulze bleibt es im unteren zweistelligen Bereich.


    Michael macht keine große Werbung hier für sein Hosting, deshalb mache ich das an dieser Stelle einmal. ;-)

    Kostet etwas mehr, aber er hält die Serverauslastung im Schnitt unter 5%, ich hab das selbst mehrfach gesehen, weil ich bei Bedarf in die Serverkonsole schauen darf.


    Natürlich gibt es auch größere Pakete bei 1und1, aber wenn man schon Änderungen beim Hosting macht, dann besser gleich zu einem Hoster, der sich speziell mit VirtueMart beschäftigt.


    Grüße

    Stefan

  • Das mysql hatte ich vorhin gar überlesen.


    VirtueMart ist nicht mehr kompatibel mit mysql, mysqli muss es auf jeden Fall sein. Das wird oder wurde auch bei einer Installation angezeigt, bzw. sollte eine Neuinstallation mit mysql garnicht mehr möglich sein.


    Im Normalfall ist das schnell über die Joomla-Konfiguration eingestellt, einfach einmal durch die Einstellungen dort schauen.


    Danke Faro, Du hattest die Augen mal wieder weiter offen als ich. ;-)


    Stefan

  • Hallo Stefan,


    dafür habe ich das mit den 30 Sekunden Timeaout überlesen. :D


    Noch mal kurz für kheber92 zur Hilfe bei der Überlegung, den Ratschlag vom Stefan zu beherzigen, was das Hosting bei Michael Schulze betrifft.


    Ich hatte vor gut einem Jahr bei einem bekannten geholfen, VM nach langer Ruhepause wieder zu Beleben. Dazu wurden alle Bezahlmodule, Versandmodule bis hin zu AmazonPay überarbeitet. Wir waren bei den Testbestellungen in den Sandboxen dem Wahnsinn nah. Maximal die hauseigene VM per Vorkasse ging sauber durch. Da ich nur im Backend und per FTP rumfummelte, erfuhr ich viel zu spät, dass wir auf einem Hosting von T-Online saßen. Nicht einmal SEO funktionierte Problemlos.


    Daher gehe ich was 1&1 betrifft sogar noch einen Schritt weiter und sage, dass selbst ein teureres Paket hier nicht empfehlenswert ist. Schau dich wie der Stefan es hier schon schrieb, nach einem Hoster um, welcher VM unterstützt, bzw. den Anforderungen an Schopsystemen entspricht. Auch von "0" EUR Hostern, welche ihre Dienste erst einmal zum Testen anbieten, kann ich aus eigener Erfahrung nur abraten. In diesen angeboten sind die Serverkonfigurationen seitens des Hosters dermaßen zurückgedreht, dass schon die installation eiens Shop's große Probleme bereiten kann.


    Nicht ohne Grund wird hier im Forum neben den Versionen immer der Hoster mit erfragt.


    Schönes Wochenende!