Sobald der APC Cache vollgelaufen ist, werden alle Cacheeinträge gelöscht. So zumindest mit den Default-Einstellungen des Caches. Im folgenden Diagramm sieht man die Größe des APCs (grüne Linie) im Verlauf der Zeit. Sobald das Speicherlimit von 1GB erreicht ist, fällt die Kurve schlagartig ab:

Viel sinnvoller wäre es allerdings, wenn beim Erreichen der Maximalspeichergröße nicht alle Cache-Einträge gelöscht werden würden, sondern nur die ältesten.

Abhilfe schaffen hier die beiden Konfigurationsparameter:

Setzt man hier jeweils einen Wert größer 0 wird nicht der komplette Cache geleert, sondern nur die Einträge die länger als die angegeben Zeit (in Sekunden) im Cache liegen.

"The number of seconds a cache entry is allowed to idle in a slot in case this cache entry slot is needed by another entry. Leaving this at zero means that APC's cache could potentially fill up with stale entries while newer entries won't be cached. In the event of a cache running out of available memory, the cache will be completely expunged if ttl is equal to 0. Otherwise, if the ttl is greater than 0, APC will attempt to remove expired entries." [APC Manual]

Welche Werte hier Sinn machen und wie diese mit der Magento Default-Cachelifetime abgestimmt sein sollten, werde ich in den nächsten Tagen etwas genauer betrachten.

Comments

This website uses disqus for the commenting functionality. In order to protect your privacy comments are disabled by default.

Enable Comments