Performance: Boost & Cron
Eingetragen von SuperEngineer 64 (133)
am 18.04.2016 - 13:32 Uhr in
am 18.04.2016 - 13:32 Uhr in
HeyHo,
nach jedem Cron-Job löscht Boost all die gecachten Seiten. Das bedeutet mitunter, dass der anonyme User > 15 sec. auf die Startseite warten muss.
Welche Möglichkeiten gibt es nun, nach einem Cron die Seiten wieder crawlen zu lassen und den Boost-Cache aufzuwärmen?
Wäre schön wenn mir da einer weiterhelfen könnte. :)
Gruß und bis dahin,
SE64
PS: Boost Crawler ist dafür nicht ausgelegt & scheint bei den meisten auch nicht zu laufen.
- Anmelden oder Registrieren um Kommentare zu schreiben
Verwendest Du Cache
am 19.04.2016 - 12:21 Uhr
Verwendest Du Cache Expiration mit Boost? - dann könnte das eine Lösung sein: https://www.drupal.org/project/recacher (Dort sind auch noch einige andere Module genannt, die ggf. Alternativen sein könnten).
Wenn Du Cache Expiration benutzt musst Du aber eigentlich auch nicht per Cron alle gecacheten Inhalte löschen.
Cache Expiration
am 19.04.2016 - 17:34 Uhr
Du kannst bei Boots auf der Unterseite "Cache Expiration" die Löschung der Dateien durch Cron abschalten. Gleichzeitig kannst Du auf der Hauptseite "Boost Settings" die Lifetime der Cache-Files einstellen.
Sorry, aber für mich hört sich das fast so an, als ob Boost nicht richtig läuft (:-
Das lässt sich am sichersten prüfen indem man den Source anzeigen lässt. Ganz am Ende sollte eine entsprechender Kommentar zu finden sein (siehe https://wreb.de).
Ok, also bei mir läuft der Cron jede Nacht (als normaler Cron-Job von Linux) und dabei werden die erzeugten Cache-Files nicht gelöscht.
Zum "Warmup" der Cache-Dateien kann man ein kleines Script unter Linux laufen lassen welches kurzerhand alle URLs aus der Sitemap via Curl oder wget anfordert.
Solch ein Skript sieht ungefähr so aus:
#!/bin/bash
ALIAS='@ddc.production'
URL='domain.de'
wget --quiet http://$URL/sitemap.xml --no-cache --output-document - | egrep -o "http://$URL[^<]+" | while read line; do
time curl -A 'Cache Warmer' -s -L $line > /dev/null 2>&1
echo $line
done
Wie es genau ausehen muss und ob du Curl oder Wget nutzen musst hängt stark von dem Server bzw. der konkreten Umgebung ab.
Ich hoffe, ich konnte Dir etwas helfen.
Grüße
Peter