Eu li praticamente todas as postagens de blogs e respostas de falha de servidor relacionadas a isso, mas não vi absolutamente nenhuma melhoria na CPU ou no uso da memória do servidor, então sinto que estou perdendo alguma coisa.
No começo eu pensei que isso fosse uma questão WP. Eu repliquei o servidor remoto usando o Vagrant na minha máquina e o site WHIPS. É muito rápido. Não sei se isso acontece porque a VM está usando meu processador, mas a VM do Vagrant tem memória menor que a do VPS remoto.
Além disso, eles estão usando a mesma versão do Ubuntu, os mesmos módulos do Apache, as mesmas configurações de servidor vistas abaixo. Eu configurei o servidor remoto há mais de um ano, então talvez haja algo que obviamente não estou verificando? Eu corri através do apt-get dist-upgrade, assim como o apt-get autoremove tanto no Linode quanto no Vagrant VM.
Linode VPS:
Ubuntu 10,04
CPU Intel (R) Xeon (R) E5-2670 0 @ 2,60 GHz 8 núcleos
1,47 GB de mem real, 256 MB de swap mem
Felizmente, o servidor (normalmente) não bloqueia, mas é incrivelmente lento durante o tempo até o primeiro byte. Aqui está o que
top
parece
top - 06:41:36 up 2 days, 14:02, 1 user, load average: 6.12, 6.16, 5.75
Tasks: 128 total, 6 running, 122 sleeping, 0 stopped, 0 zombie
Cpu(s): 17.3%us, 5.2%sy, 0.0%ni, 30.7%id, 7.5%wa, 0.0%hi, 0.1%si, 39.3%st
Mem: 1546512k total, 1157032k used, 389480k free, 27964k buffers
Swap: 262140k total, 72840k used, 189300k free, 779308k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
9276 www-data 20 0 650m 108m 84m R 101 7.2 6:48.42 apache2
9203 www-data 20 0 646m 122m 102m R 64 8.1 7:10.95 apache2
9208 www-data 20 0 653m 136m 109m R 56 9.0 7:50.82 apache2
9207 www-data 20 0 666m 148m 110m S 51 9.8 7:45.71 apache2
9201 www-data 20 0 656m 124m 95m R 49 8.3 9:09.42 apache2
9204 www-data 20 0 645m 107m 88m D 47 7.1 10:12.04 apache2
9202 www-data 20 0 656m 131m 101m S 45 8.7 9:36.33 apache2
2337 mysql 20 0 165m 41m 3028 S 29 2.8 1064:57 mysqld
7 root 20 0 0 0 0 R 6 0.0 78:57.47 rcu_sched
2734 root 20 0 33304 4452 1904 S 2 0.3 14:52.61 newrelic-daemon
9498 deploy 20 0 2632 1224 932 R 1 0.1 0:00.06 top
link
KeepAlive Off
HostnameLookups Off
Timeout 30
<IfModule mpm_prefork_module>
StartServers 3
ServerLimit 12
MinSpareServers 2
MaxSpareServers 3
MaxRequestsPerChild 300
MaxClients 12
</IfModule>
O aumento de MaxRequestsPerChild resulta na troca quase instantânea.
php.ini
; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
memory_limit = 32M
my.cnf
key_buffer = 24M
max_allowed_packet = 1M
thread_stack = 64K
thread_cache_size = 8
table_cache = 4
sort_buffer = 4M
net_buffer_length = 2K