Ho un'istanza di EC2 m3.xlarge
che ho aggiornato a PHP 5.5.11
oggi.APC -> APCu/OPCache, scarso rendimento
Con questo aggiornamento, ha sovrascritto php55-pecl-apc
con php55-pecl-apcu
.
Dopo aver letto e la sperimentazione, la mia comprensione è che APC
è stato sostituito con OPCache
, ad eccezione di un negozio chiave di valore che può essere portato indietro con APCu
.
Dopo aver modificato la configurazione su qualcosa che sembra ragionevole, l'utilizzo di Wordpress durante l'accesso è ora terribilmente lento, almeno 300-900 ms (il front-end è memorizzato nella cache tramite vernice e funziona perfettamente ... ma quando sei usando l'admin è deliberatamente non memorizzato nella cache e lento come il peccato).
Ho eseguito una serie di benchmark durante l'aggiornamento, con una piccola dimensione del campione per ogni passaggio. Mentre andavo avanti, peggiorava sempre di peggio.
- APC (prima dell'aggiornamento)
-->
- OPCache + senza APCu
-->
- OPCache + APCu + WP Plugin per APCu
In questo momento sto solo uscire con OPCache, e non APCu.
- Come posso ottenere la stessa prestazione? Ho amato l'interfaccia di amministrazione, ho amato quanto fosse veloce. Onestamente non vedo come questo sia un miglioramento, è davvero deprimente ... a meno che non ci sia una super biblioteca là fuori che non ne sono a conoscenza. Non è certamente quello che ho, o forse non è configurato bene.
- Supponendo che la risposta al n. 1 sia "hai configurato come palle", ti dispiacerebbe dare un'occhiata a questo e vedere se questo è ragionevole?
Per il mio setup sto usando l'ultimo wordpress, alcuni plugin di grandi dimensioni ma non riesco a toglierli perché sono importanti. Per fortuna la vernice si prende cura della maggior parte del lavoro. Ho 4 core, 16 GB di memoria, ~ 10k file nella mia radice del sito web. Non ho nemmeno app hardcore o altro che wordpress, è un setup abbastanza vanigliato. Penso che sia per cose che potrebbero aiutare.
Config:
zend_extension=opcache.so
opcache.enable=1
opcache.enable_cli=0
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.max_wasted_percentage=5
opcache.use_cwd=1
opcache.validate_timestamps=1
opcache.revalidate_freq=0
opcache.revalidate_path=0
opcache.save_comments=0
opcache.load_comments=0
opcache.fast_shutdown=1
opcache.enable_file_override=0
opcache.optimization_level=0xffffffff
opcache.inherited_hack=1
opcache.dups_fix=0
opcache.blacklist_filename=/etc/php-5.5.d/opcache*.blacklist
opcache.max_file_size=2M
opcache.consistency_checks=1
opcache.force_restart_timeout=180
opcache.error_log=/var/log/php-fpm/5.5/opcache.log
opcache.log_verbosity_level=1
opcache.preferred_memory_model=
opcache.protect_memory=0
Sei sicuro che OPCache sia effettivamente caricato e attivo? Crea un file 'testopcache.php' con' Php var_dump (opcache_get_status()); ?> 'dentro e prova ad accedervi, dovrebbe dirti se OPCache sta funzionando. Prova anche ad aumentare 'opcache.max_file_size' in' 5M' o anche più. –
L'ho aumentato a 10M. È sicuramente in esecuzione, vedo un'enorme discarica. – Tallboy
Puoi eseguire il backup della tua attuale installazione e provare a rimuovere questi 'pochi grandi plug-in? E vedere se questo cambia qualcosa? –