# Cache aufwärmen per Cronjob

**URL:** <https://forum.shopware.com/t/cache-aufwarmen-per-cronjob/28895>\
**Category:** Allgemein\
**Created:** [16. Juli 2015 um 09:43 UTC](https://forum.shopware.com/t/cache-aufwarmen-per-cronjob/28895 "2015-07-16T09:43:40Z")\
**Posts on this page:** 13\
**Page:** 3

<div class="post-metadata">

**Author:** ![SCOOPEX](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/scoopex/32/18328_2.png) [@SCOOPEX](https://forum.shopware.com/u/SCOOPEX)\
**Post date:** [8. März 2023 um 14:05 UTC](https://forum.shopware.com/t/cache-aufwarmen-per-cronjob/28895/41 "2023-03-08T14:05:14Z")

</div>

Versuch’ es mal so:

`cd /var/www/vhosts/SERVERADRESSE/html/SHOPVERZEICHNISS/ && /usr/local/php7.4/bin/php bin/console sw:warm:http:cache`

---

<div class="post-metadata">

**Author:** ![Andreas\_147](https://avatars.discourse-cdn.com/v4/letter/a/59ef9b/32.png) [@Andreas\_147](https://forum.shopware.com/u/Andreas_147)\
**Post date:** [8. März 2023 um 16:53 UTC](https://forum.shopware.com/t/cache-aufwarmen-per-cronjob/28895/42 "2023-03-08T16:53:27Z")

</div>

Danke dir, es hat aber leider nicht funktioniert - nach 30 Minuten nachgesehen, es waren nur 2,91 MB im Cache. Woran könnte das liegen? (Habe die Dateirechte auch schon auf 777 gesetzt, keine Änderung).

---

<div class="post-metadata">

**Author:** ![SCOOPEX](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/scoopex/32/18328_2.png) [@SCOOPEX](https://forum.shopware.com/u/SCOOPEX)\
**Post date:** [8. März 2023 um 17:05 UTC](https://forum.shopware.com/t/cache-aufwarmen-per-cronjob/28895/43 "2023-03-08T17:05:11Z")

</div>

Vermutlich greift da die PHP max\_execution\_time.

Falls Du SSH Zugriff hast, mal den Befehl händisch eingeben und schauen was passiert.

---

<div class="post-metadata">

**Author:** ![Andreas\_147](https://avatars.discourse-cdn.com/v4/letter/a/59ef9b/32.png) [@Andreas\_147](https://forum.shopware.com/u/Andreas_147)\
**Post date:** [8. März 2023 um 17:40 UTC](https://forum.shopware.com/t/cache-aufwarmen-per-cronjob/28895/44 "2023-03-08T17:40:56Z")

</div>

Das bekomme ich als Ergebnis:

-bash: /usr/local/php7.4/bin/php: No such file or directory

---

<div class="post-metadata">

**Author:** ![SCOOPEX](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/scoopex/32/18328_2.png) [@SCOOPEX](https://forum.shopware.com/u/SCOOPEX)\
**Post date:** [8. März 2023 um 17:47 UTC](https://forum.shopware.com/t/cache-aufwarmen-per-cronjob/28895/45 "2023-03-08T17:47:06Z")

</div>

… dann kann Dein Beispiel auch nicht nicht funktionieren, da PHP nicht gefunden wird.

Da Du erwähnst „PHP-Skript ausführen“ … falls es sich um ein System mit Plesk handelt, ist der korrekte Pfad für PHP 7.4 wie folgt:

`/opt/plesk/php/7.4/bin/php`

in diesem Fall brauchst Du auch keine eigene .sh Datei (sw\_http\_cache\_warm.sh) sondern wählst als Cron-Variante „Befehl ausführen“ und trägst folgendes ein:

`cd /var/www/vhosts/SERVERADRESSE/html/SHOPVERZEICHNIS/ && /opt/plesk/php/7.4/bin/php bin/console sw:warm:http:cache`

Falls das nicht klappt beim Hoster erkundigen, wie denn der korrekte Pfad zu PHP 7.4 lautet.

---

<div class="post-metadata">

**Author:** ![Andreas\_147](https://avatars.discourse-cdn.com/v4/letter/a/59ef9b/32.png) [@Andreas\_147](https://forum.shopware.com/u/Andreas_147)\
**Post date:** [8. März 2023 um 17:49 UTC](https://forum.shopware.com/t/cache-aufwarmen-per-cronjob/28895/46 "2023-03-08T17:49:16Z")

</div>

Danke dir, ich probiere es aus!

---

<div class="post-metadata">

**Author:** ![Andreas\_147](https://avatars.discourse-cdn.com/v4/letter/a/59ef9b/32.png) [@Andreas\_147](https://forum.shopware.com/u/Andreas_147)\
**Post date:** [9. März 2023 um 10:22 UTC](https://forum.shopware.com/t/cache-aufwarmen-per-cronjob/28895/47 "2023-03-09T10:22:14Z")

</div>

Vielen dank, dein Tipp mit Plesk hat geholfen, ich habe über SSH den Cache erstellen können durch:

`cd /var/www/vhosts/SERVERADRESSE/html/SHOPVERZEICHNIS/ && /opt/plesk/php/7.4/bin/php bin/console sw:warm:http:cache`

Allerdings mit Einschränkungen. Nach 30 Minuten und 75% vom ersten Shop (mit 1er Parallelität) meldete er „Terminated“ und hat abgebrochen. Woran könnte das liegen? Die PHP max\_execution\_time steht bei mir auf 900 Sekunden, also 15 Minuten. Er hätte dann ja schon 15 Minuten eher abbrechen müssen, oder?

Wenn ich an sw:warm:http:cache` -cb8 anfüge, dann löscht er zuerst den Cache und erstellt ihn dann mit 8 parallelen Aufrufen.

Gehe ich richtig, wenn c für „Clear“ und b für „Batch“ sowie die Zahl für die Anzahl der Batch-Vorgänge steht?

Wenn ich den Cache manuell aufwärme, kann ich ja Stapelgröße und Parallelität einstellen. b10 müsste dann für die (größtmögliche?) Parallelität von 10 stehen, aber wie gebe ich die Stapelgröße an?

---

<div class="post-metadata">

**Author:** ![SCOOPEX](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/scoopex/32/18328_2.png) [@SCOOPEX](https://forum.shopware.com/u/SCOOPEX)\
**Post date:** [9. März 2023 um 10:32 UTC](https://forum.shopware.com/t/cache-aufwarmen-per-cronjob/28895/48 "2023-03-09T10:32:47Z")

</div>

Hi,

bei der Parallelität würde ich es nicht übertreiben und den Standard verwenden (also einfach sw:warm:http:cache ohne zusätzliche Parameter) - andernfalls kannst Du schnell den Server überlasten - je nach Hosting sind auch die Anzahl gleichzeitiger Requests limitiert (insbesondere bei einfachem Shared Hosting).

Wird der Befehl auf der Konsole ausgeführt greift häufig die max\_execution\_time nicht (wohl aber bei Cronjobs).

Grundsätzlich solltest Du Dir zunächst jedoch sowieso Gedanken über die richtige Cache-Strategie machen. Das ständige Cache-Aufwärmen bringt nichts, wenn die TTL (Ablaufzeit) in den Einstellungen zu niedrig eingestellt ist wie im nachfolgenden Screenshot) - dann ist der Cache bereits abgelaufen/verfallen, bevor dieser überhaupt vollständig aufgewärmt wurde.

 ![Bildschirm­foto 2023-03-09 um 11.31.16](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/3X/b/d/bde224434d45b759e05fdd15abf93262945d5ee5.png)

Viele Grüße

---

<div class="post-metadata">

**Author:** ![Andreas\_147](https://avatars.discourse-cdn.com/v4/letter/a/59ef9b/32.png) [@Andreas\_147](https://forum.shopware.com/u/Andreas_147)\
**Post date:** [9. März 2023 um 10:45 UTC](https://forum.shopware.com/t/cache-aufwarmen-per-cronjob/28895/49 "2023-03-09T10:45:46Z")

</div>

Danke dir - ich hatte es mir mit der Parallelität überlegt, da ich mal Tests mit der Stoppuhr gemacht habe und 100er Stapelgröße mit 10er Parallelität die schnellste Zeit zum Cache aufwärmen ergab.

Das Bild, das du verlinkt hast, zeigt die Standardeinstellungen, oder? Damit hatte ich mich in all der Zeit nicht beschäftigt, womöglich ein Fehler? Sehe ich das richtig, dass das Listing, die Detailseite usw. im Cache nur 3600 Sekunden oder 1 Stunde Ablaufzeit haben? Was wäre denn eine vernünftige Einstellung, wenn ich den Cache bloß einmal am Tag aufwärmen lassen will? 86400 für 24 Stunden? Wenn ja, sollte ich das auf frontend/listing, frontend/detail, frontend/index und widgets/checkout anwenden, damit das schneller geladen wird?

Viele Grüße & vielen Dank!!

---

<div class="post-metadata">

**Author:** ![SCOOPEX](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/scoopex/32/18328_2.png) [@SCOOPEX](https://forum.shopware.com/u/SCOOPEX)\
**Post date:** [9. März 2023 um 10:49 UTC](https://forum.shopware.com/t/cache-aufwarmen-per-cronjob/28895/50 "2023-03-09T10:49:36Z")

</div>

Genau - der Cache Controller legt fest, wie lange der entsprechende Teil des Shops im Cache vorgehalten wird. Ich verwende z.B. in Shops, in denen sich selten etwas ändert (z.B. keine Preisänderungen, Änderungen an Artikeln oder Beschreibungen sogar folgenden „extremen“ Wert) - Cache wird nur händisch geleert, wenn sich etwas an den Artikeln oder im Shop ändert.

 ![Bildschirm­foto 2023-03-09 um 11.42.46](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/3X/1/3/13d2b4e4af5f43065f73844f6ea8d96d1603c286.png)

---

<div class="post-metadata">

**Author:** ![Andreas\_147](https://avatars.discourse-cdn.com/v4/letter/a/59ef9b/32.png) [@Andreas\_147](https://forum.shopware.com/u/Andreas_147)\
**Post date:** [9. März 2023 um 10:53 UTC](https://forum.shopware.com/t/cache-aufwarmen-per-cronjob/28895/51 "2023-03-09T10:53:01Z")

</div>

Nochmals Danke, ich probiere es aus!

---

<div class="post-metadata">

**Author:** ![Andreas\_147](https://avatars.discourse-cdn.com/v4/letter/a/59ef9b/32.png) [@Andreas\_147](https://forum.shopware.com/u/Andreas_147)\
**Post date:** [10. März 2023 um 10:58 UTC](https://forum.shopware.com/t/cache-aufwarmen-per-cronjob/28895/52 "2023-03-10T10:58:55Z")

</div>

Nochmals vielen herzlichen Dank für deine Hilfe!

Per Cronjob den Befehl

`cd /var/www/vhosts/SERVERADRESSE/html/SHOPVERZEICHNIS/ && /opt/plesk/php/7.4/bin/php bin/console sw:warm:http:cache`

ausführen zu lassen hat funktioniert, der Cache wurde zuverlässig heute Nacht aufgebaut. Ich habe die Cache-Controller-Zeiten von frontend/listing, index und detail auf 86400 gestellt, klappt auch prima. Eine letzte Frage noch: Welcher der Cache-Controller ist für die Einkaufswelten-Seiten zuständig?

---

<div class="post-metadata">

**Author:** ![SCOOPEX](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/scoopex/32/18328_2.png) [@SCOOPEX](https://forum.shopware.com/u/SCOOPEX)\
**Post date:** [10. März 2023 um 11:39 UTC](https://forum.shopware.com/t/cache-aufwarmen-per-cronjob/28895/53 "2023-03-10T11:39:08Z")

</div>

Hallo,

ich würde auf widgets/emotion tippen - sicher bin ich mir allerdings nicht.

Viele Grüße

[Vorherige Seite](https://forum.shopware.com/t/cache-aufwarmen-per-cronjob/28895.md?page=2)
