wordpress - Optimizar el almacenamiento en caché de APC
opcode opcode-cache (3)
El APC ttl debe hacerse cargo de la acumulación de fragmentos. Normalmente lo establezco en 7200. Lo estoy ejecutando en un pequeño VPS con WordPress y mis configuraciones son:
apc.enabled=1
apc.shm_segments=3
apc.shm_size=32
apc.ttl=7200
apc.user_ttl=7200
apc.num_files_hint=2048
apc.mmap_file_mask=/tmp/apc.XXXXXX
apc.enable_cli=1
apc.max_file_size=10M
También obtendrá mucho más beneficio al usar el caché de objetos integrado de WordPress y Mark Jaquith escribió una muy buena gota en el complemento que también debería ayudar con algunos de sus problemas de fragmentación al guardar o editar una publicación.
Aquí hay un enlace a cómo se ejecuta mi APC: [eliminado]
Como puede ver, se llena bastante rápido y mi conteo completo de caché supera las 1000 veces
Mi sitio web utiliza Wordpress.
Me doy cuenta de que cada vez que hago una nueva publicación o edito una, suceden 2 cosas.
1) La memoria APC "UTILIZADA" se reinicia 2) Recibo muchos fragmentos
He intentado darle más memoria a APC (512 mb) pero a veces se bloquea, parece que 384 es lo mejor. También tengo un trabajo de Cron que reinicia Apache, borrando todo el APC de fragmentos y la memoria utilizada, cada 4 horas. Una vez más, mi apache se bloquea si APC se está ejecutando durante un largo período de tiempo, creo que debido a la acumulación de fragmentos.
¿Debo usar los filtros apc. y filtrar algunas cosas que no deben almacenarse en caché?
Soy realmente un principiante en este tipo de cosas, así que si alguien puede explicar con instrucciones completas, ¡¡¡Muchas gracias !!!
Realmente debería configurar apc.stat = 0 en su servidor de producción e impedirá que APC vaya al IO para verificar si el archivo ha sido modificado.
Consulte la documentación primero: http://php.net/manual/en/apc.configuration.php
Trabajo como administrador de sistemas de Linux, el servidor de wordpress ejecuta 5 instalaciones diferentes de WordPress. Si está ejecutando solo uno, comentaré las configuraciones a considerar.
Versiones APC / PHP, 3.1.9 / 5.3.7
Aquí está mi apc.conf completo,
apc.enabled=1
apc.shm_segments=1
; I would try 32M per WP install, go from there
apc.shm_size=128M
; Relative to approx cached PHP files,
apc.num_files_hint=512
; Relative to approx WP size W/ APC Object Cache Backend,
apc.user_entries_hint=4096
apc.ttl=7200
apc.use_request_time=1
apc.user_ttl=7200
apc.gc_ttl=3600
apc.cache_by_default=1
apc.filters
apc.mmap_file_mask=/tmp/apc.XXXXXX
apc.file_update_protection=2
apc.enable_cli=0
apc.max_file_size=2M
;This should be used when you are finished with PHP file changes.
;As you must clear the APC cache to recompile already cached files.
;If you are still developing, set this to 1.
apc.stat=0
apc.stat_ctime=0
apc.canonicalize=1
apc.write_lock=1
apc.report_autofilter=0
apc.rfc1867=0
apc.rfc1867_prefix =upload_
apc.rfc1867_name=APC_UPLOAD_PROGRESS
apc.rfc1867_freq=0
apc.rfc1867_ttl=3600
;This MUST be 0, WP can have errors otherwise!
apc.include_once_override=0
apc.lazy_classes=0
apc.lazy_functions=0
apc.coredump_unmap=0
apc.file_md5=0
apc.preload_path
@Chris_O , su configuración no es óptima en algunos aspectos.
1. apc.shm_segments = 3
Si ejecuta un Distro de Linux moderno, su SHM debe ser suficientemente grande. Si es demasiado pequeño, busca cómo configurar las entradas de sysctl.conf, puedes verificar esto.
#Check Max Segment size
cat /proc/sys/kernel/shmmax
Excepción cuando se ejecuta en ciertos BSD, u otros Unix, u hosts administrados que no controla. Hay desventajas por no tener un segmento contiguo, lea los detalles de APC para esa información.
2. apc.enable_cli = 1
BAD BAD BAD, esto es solo para depuración! Cada vez que ejecuta php-cli, se borra el caché de APC.
3. apc.max_file_size = 10M
¡Innecesario y ridículo! Si tuviera un archivo tan grande, comería 1/3 de ese pequeño 32M SHM. Aunque especifique 3, no solo actúan como un gran segmento en tres partes. Independientemente, WP ni siquiera tiene archivos PHP individuales, incluso de ese tamaño.
''Espero haber ayudado a la gente con su apc.conf.