PageCache löschen - Was macht garbagecron.php?

  • Hallo,


    ich habe Zeitweise das SeitenCache Plugin bei Joomla 3.10.8 aktiviert und den anderen Cache deaktiviert. Das bringt bei Last manches Mal Entspannung :)


    Den SeitenCache aber muss man manuell löschen. Das passiert nicht automatisch und ist hinderlich, wenn die Bilder nach Veröffentlichung eines Artikels automatisch geändert werden.


    Die Idee - CronJob alle 10 Minuten auf das Cache Verzeichnis laufen lassen.

    Weiß jemand, wie der Cronjob aussehen müsste?


    Bei meiner Recherche bin ich auf garbagecron.php gestoßen was alle (??) Cache Dateien bereinigen soll.

    Leider findet sich in der Doku nichts genaues - ich vermute mal, dass es ein Konstrukt für den "normalen" Cache und nicht für das SeitenCache Plugin ist.


    Wer weiß darüber was genaueres?


    Grüße,

    Mitcha

  • Die Idee - CronJob alle 10 Minuten auf das Cache Verzeichnis laufen lassen

    Wenn Du alle 10 Minuten den Cache leeren lassen willst, kannst Du den Cache doch gleich ganz deaktiviren, da er so gut wie nutzlos wird.
    Zudem ist das Problem eines Browsercaches damit auch nicht gelöst.

  • Aus Erfahrung: Nutze den Server-Cache (wenn verfügbar, z.B. OpCache (php) und den normalen Cache in der Joomla-Konfiguration.

    Mit dem Seiten-Cache-Plugin wird es meist Probleme geben. Ein Problem hast du ja bereits.

    Nutze besser Optimierungen wie "CSS- und JS-Dateien minimieren und zusammenfassen", sofern möglich. Auch Lazy Load und derartiges sind sinnvoll, um das Laden zu beschleunigen.

    Und natürlich sollte man die Webseite nicht unnötig vollstopfen und Bilder bzgl. ihrer Größe (kb) optimieren!

    Desweiteren: Nutzung von http/2

    Das wären meine Vorschläge.

    Für eine Analyse wäre ein Link zur Seite hilfreich.


    Wenn überhaupt, würde ich dies hier empfehlen: https://regularlabs.com/cachecleaner

  • Hallo Mitcha,


    das Skript garbagecron.php löscht nur den abgelaufenen Cache.


    In Quick Cache Cleaning habe ich mehrere Möglichkeiten eingebaut, den normalen Cache komplett über einen einfachen Aufruf zu löschen. Entweder über den Browser über ein Plugin (in der kostenlosen Version enthalten) oder über die Kommandozeile bequem automatisiert über Cronjobs (nur in der Pro enthalten).


    Viel Erfolg!

  • Vielen lieben Dank für eure Lösungsvorschläge!!!


    Wenn Du alle 10 Minuten den Cache leeren lassen willst, kannst Du den Cache doch gleich ganz deaktiviren, da er so gut wie nutzlos wird.

    Nein, wenn du eine entsprechende Last hast, dann sind auch 2 Minuten super :)



    Nutze besser Optimierungen wie "CSS- und JS-Dateien minimieren und zusammenfassen", sofern möglich. Auch Lazy Load und derartiges sind sinnvoll, um das Laden zu beschleunigen.

    Ist gemacht (Yootheme)


    Nutzung von http/2

    Ist das bei SSL nicht Standard?



    Aus Erfahrung: Nutze den Server-Cache (wenn verfügbar, z.B. OpCache (php) und den normalen Cache in der Joomla-Konfiguration

    OpCache ist an, doch lahmt dieser meiner Meinung nach.

    Teste ich die Seite mit OpCache, so hat diese eine


    DOMContentLoaded: 919 ms

    load: 1,33 s


    Mit Joomla-Standard-Cache + OpCache:

    DOMContentLoaded: 640 ms

    load: 1,00 s


    Mit PageCache + OpCache:

    DOMContentLoaded: 328 ms

    load: 791 ms



    Zitat

    das Skript garbagecron.php löscht nur den abgelaufenen Cache.

    Kubik-Rubik Ja, dass dachte ich mir schon.

    Und danke für den Verweis, aber ich möchte das - wenn überhaupt - mit nem Cron-Job lösen

  • Ja, dass dachte ich mir schon.

    Und danke für den Verweis, aber ich möchte das - wenn überhaupt - mit nem Cron-Job lösen

    Ja, genau deswegen auch der Verweis auf die Pro-Version von QCC, die ein CLI-Skript für den Cron-Job mitliefert. Einfach über die Kommandozeile den Aufruf mittels PHP-Handler auf die Datei einrichten und zurücklehnen!


    Beispielkonfiguration für Joomla! 3 und Ausführung alle 10 Minuten:

    Code
    */10 * * * * php /var/www/vhost/example.com/httpdocs/cli/qccCli.php

    Den Pfad musst du natürlich anpassen. php könnte der PHP-Handler vom Betriebssystem sein und unter Umständen veraltet. Wenn du zum Beispiel Plesk installiert hast, dann nimmst du am besten eine aktuellere PHP-Version, zum Beispiel: /opt/plesk/php/8.0/bin/php


    In Joomla! 4 verwende ich die Hauptdatei joomla.php im CLI-Ordner

    Code
    */10 * * * * /opt/plesk/php/8.0/bin/php /var/www/vhosts/example.com/httpdocs/cli/joomla.php qcc:clean


    Das war's schon!


    Gruß