
Eu administro um servidor virtual com 16x Intel(R) Xeon(R) CPU E5-2680 v2 @ 2,80GHz com uma carga de memória de sistema de 32GiB. O servidor é usado como servidor web e tem de 100 a 150 usuários na hora do rush. Nestes momentos, o servidor precisa de cerca de 5 segundos para lidar com as solicitações recebidas. É quase impossível fazer qualquer coisa.
O próprio servidor roda Apache/2.2.22, MySQL 5.5.41-0ubuntu, PHP 5.3.10-1ubuntu3.16 e, claro, um aplicativo web escrito por você mesmo que usa a estrutura CakePHP.
Quando o servidor não está ocupado, o mysqld consome cerca de 90% da CPU e quando chega a 350% da CPU.
$ top
top - 02:58:11 up 6 days, 15:12, 1 user, load average: 1.00, 1.00, 0.85
Tasks: 91 total, 2 running, 89 sleeping, 0 stopped, 0 zombie
Cpu(s): 6.3%us, 0.0%sy, 0.0%ni, 93.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 33554432k total, 2455720k used, 31098712k free, 0k buffers
Swap: 0k total, 0k used, 0k free, 2047796k cached
Minha suposição era que o servidor não está usando todos os seus recursos e, portanto, não consegue lidar com mais de 150 clientes.
Se o hardware fosse poderoso o suficiente para lidar com essa quantidade de clientes, o que eu teria que fazer para consertar o problema?muito altovelocidade de carregamento?