
Ich administriere einen virtuellen Server mit 16x Intel(R) Xeon(R) CPU E5-2680 v2 @ 2,80GHz und einem Riesenspeicher von 32GiB. Der Server wird als Webserver verwendet und hat in der Hauptverkehrszeit 100 bis 150 Benutzer. In diesen Zeiten benötigt der Server etwa 5 Sekunden, um eingehende Anfragen zu verarbeiten. Es ist fast unmöglich, irgendetwas zu tun.
Auf dem Server selbst laufen Apache/2.2.22, MySQL 5.5.41-0ubuntu, PHP 5.3.10-1ubuntu3.16 und natürlich eine selbst geschriebene Web-App, die das CakePHP-Framework verwendet.
Wenn der Server nicht ausgelastet ist, beansprucht mysqld etwa 90 % der CPU-Leistung, und wenn er ausgelastet ist, bis zu 350 %.
$ 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
Meine Vermutung war, dass der Server nicht alle seine Ressourcen nutzt und deshalb nicht mehr als 150 Clients verarbeiten kann.
Wenn die Hardware leistungsstark genug wäre, um diese Anzahl an Clients zu verarbeiten, was muss ich tun, um das Problem zu beheben?sehr hochLadegeschwindigkeit?