Estoy ejecutando un sitio de wordpress y cada uso de proceso de PHP tiene una memoria de tamaño residente de 200 MB a 250 MB. Con 16 GB de memoria RAM, el servidor solo puede manejar unos 70 procesos. Al aumentar la memoria virtual a 16 GB, puede manejar 140. Después de eso, la carga sigue aumentando. Si hay 200 conexiones en 10 minutos, la carga del servidor llega a 20 en un procesador xeon quad-core 3Ghz.¿Cómo optimizar el uso de la memoria del proceso php?
He intentado desactivar todos los complementos, pero esto solo reduce el uso de la memoria PHP de cada proceso en menos del 10%. suPHP me dice qué usuario está usando tanta memoria, pero no qué parte del código de wordpress.
¿Alguna sugerencia sobre cómo reducir el uso de memoria? ¿O es mi única opción actualizar a 32 GB de RAM?
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
10585 nobody 16 0 2266m 237m 199m S 21.3 1.5 1:09.17 /usr/bin/php
10597 nobody 16 0 2257m 255m 226m S 15.3 1.6 0:17.56 /usr/bin/php
más grandes salidas de pmap -d
000000000e8b8000 27580 rw--- 000000000e8b8000 000:00000 [ anon ]
00002b3772850000 2097152 rw-s- 0000000000000000 000:00009 [ shmid=0x2d1b803a ]
00002b37f2a62000 55108 r---- 0000000000000000 0fd:00000 locale-archive
mapped: 2320852K writeable/private: 30012K shared: 2097152K
ipcs salida
------ Semaphore Arrays --------
key semid owner perms nsems
0x000000a7 0 root 600 1
0x00000000 162529281 nobody 600 1
0x00000000 162562050 nobody 600 1
0x00000000 162594819 nobody 600 1
0x00000000 162627588 nobody 600 1
------ Message Queues --------
key msqid owner perms used-bytes messages`
¿Ya había intentado instalar APC u otra solución similar de caché de código de operación? – raina77ow
Sí. Estoy usando eAccelerator y Zend Optimizer. APC actualmente no está incluido en cPanel. Los otros dos se pueden compilar con easyapache. – Lisa
Eso es extraño, estoy ejecutando algunos servidores de alojamiento y la mayoría de las instancias de PHP consumen entre 7 y 50 MB de memoria RSS. Mis sugerencias son: 1. actualizar a php 5.4 (debido a la huella de memoria reducida). 2. Instale algún proxy inverso (como barniz) delante de wordpress. – strkol