Non hai abbastanza RAM
Abbiamo circa 240k prodotti
Ram disponibili: 6GB
Discussioni: 32
Non hai abbastanza RAM per la quantità di prodotti che hai. Come regola generale, consigliamo almeno 2-4 GB di RAM per core logico.
Se si mappa il possibile utilizzo della memoria:
- 64 thread PHP con a
max_memory
~ 768 MB = 24 GB
- 240.000 prodotti probabilmente significheranno circa 15 GB di spazio sul tavolo InnoDB
- 64 thread PHP garantiranno circa 128 connessioni MySQL, in genere questo ha un costo di circa 200 MB per connessione minima
- Lo storage back-end per 240.000 prodotti in Redis e
lzf
compressi consumerà ancora circa 6 GB di RAM
Quindi il totale finora è di 70 GB di RAM impegnata - non abbiamo nemmeno menzionato il sistema operativo ecc.
Il tuo hardware è terribilmente sottostimato . Suggerirei di leggere questo articolo di configurazione del server Magento per avere un'idea di come procedere.
Memcached non supporta i tag cache
Se stai usando Memcached (non è un problema, le sue prestazioni molto alte), allora stai memorizzando i tag cache o no. Se non hai slow_backend
definito - quindi non stai memorizzando i tag, il che significa sostanzialmente che la tua cache non può discriminare tra i diversi tipi di cache - quindi non sarai in grado di scaricarli in modo indipendente.
Leggi questo, http://www.sonassi.com/knowledge-base/magento-kb/what-is-memcache-actually-caching-in-magento/
Consigliamo vivamente di passare a Redis. Ha le sue stranezze e ha bisogno di una messa a punto significativa per i negozi più grandi. Ma nel complesso funzionerà leggermente meglio di Memcached con il vero vantaggio del supporto di tag cache.
404 e FPC
FPC ha un vero problema, infatti, tutti i motori di cache hanno un problema con 404s. Il motivo è che tutti i vecchi URL ancora sottoposti a scansione o collegati finiranno su una pagina che deve scorrere attraverso l'intera core_url_rewrite
tabella, provare a trovare una corrispondenza con tutti i router e gli spazi dei nomi definiti prima di rinunciare e caricare un 404.
Quindi memorizza nella cache una risorsa che non ha alcun valore e consumerà spazio nella memoria cache. Probabilmente scoprirai che gran parte della tua memoria Memcached viene effettivamente consumata da 404 contenuti.
Con cataloghi di grandi dimensioni (240k prodotti), avrai sicuramente la tua giusta quota di turnover del prodotto, e quindi, cambiamenti negli URL e, successivamente, molti 404.
FPC non valido o pulito
Al momento - e per impostazione predefinita - il comportamento di FPC è quello di pulire la cache in caso di modifiche, piuttosto che invalidare semplicemente la voce della cache. Abbiamo scritto un'estensione per modificare questo comportamento affinché un negozio EE esegua esattamente ciò di cui hai bisogno.
Ecco una breve patch per darti un'idea di come risolvere il tuo problema.
app/code/core/Enterprise/PageCache/etc/config.xml
index 6a56a80..85ebc92 100644
--- app/code/core/Enterprise/PageCache/etc/config.xml
+++ app/code/core/Enterprise/PageCache/etc/config.xml
@@ -139,7 +139,7 @@
<observers>
<enterprise_pagecache>
<class>enterprise_pagecache/observer</class>
- <method>cleanCache</method>
+ <method>invalidateCache</method>
</enterprise_pagecache>
</observers>
</catalogrule_after_apply>
Non eseguire un cingolato
Se hai un discreto margine di manovra, non ti consigliamo di eseguire lo strumento di scansione, che genera un carico non necessario. Le persone / i robot / i crawler che visitano il sito devono mantenere la cache innescata.
Ma per rispondere alla tua domanda, se guardi nel file di configurazione menzionato sopra, vedi la pianificazione cron che è stata definita per la finestra di ricerca per indicizzazione.
Se puoi permetterti contenuti non aggiornati
E alla fine, se ne hai abbastanza RAM. Potresti trarre vantaggio dall'aumento del TTL dei contenuti archiviati in FPC per mantenere i dati memorizzati nella cache più a lungo.
Nel <full_page_cache>
tag nel tuo ./app/etc/local.xml
appena definito
<lifetimelimit>86400</lifetimelimit>
La durata è definita in secondi. Devi trovare un equilibrio tra freschezza dei contenuti, prestazioni e quantità di spazio di archiviazione effettivamente disponibile.
Perché stai utilizzando un'estensione di memorizzazione nella cache di terze parti con EE
Stai pagando un premio per FPC - il che mi fa male dire, è molto buono. Quindi perché stai eseguendo alternative di terze parti sopra le righe. Rimuoverlo.
Detto in questo modo. Se la tua auto funzionasse male, aggiungeresti semplicemente un altro motore nel bagagliaio per compensare; o semplicemente riparare il motore già lì?