Après m'être gratté la tête en essayant de comprendre pourquoi mon site répondait si lentement même si les ressources du serveur sont correctes, j'ai finalement vérifié l'état d'Apache et trouvé:
78 requests/sec - 0.7 MB/second - 8.5 kB/request
256 requests currently being processed, 0 idle workers
Il semble que mon apache soit littéralement au maximum avec les connexions. Quiconque essaie de visiter mon site est mis sur une "liste d'attente" jusqu'à ce qu'Apache soit de nouveau libre.
Il semble que j'ai deux options.
A) Augmentez la limite maximale de connexions au-dessus de 256. Bien que selon cet article, ce ne soit pas si facile:
Par défaut, le paramètre MaxClients a une limite matérielle compilée de 256. Cela peut cependant être modifié en recompilant Apache. Certaines distributions ou sociétés d'hébergement élèvent cette limite à une valeur très élevée, comme 512 ou même 1024 afin de faire face à des charges importantes.
B) Localisez les scripts qui prennent trop de temps. Cela me semble beaucoup plus délicat, car la plupart des processus apache apparaissent et disparaissent à nouveau. De plus, les scripts PHP de mes sites sont assez bien optimisés ... et encore une fois, les ressources du serveur sont très bien:
Server load 2.69 (8 CPUs)
Memory Used 25.33% (2,039,108 of 8,048,804)
Swap Used 1.32% (54,156 of 4,095,992)
Quelle option (si l'une d'entre elles) dois-je choisir et comment dois-je la faire?
ÉDITER
Plus d'informations: Version du serveur: Apache / 2.2.23 (Unix) mod_ssl / 2.2.23 OpenSSL / 1.0.0-fips DAV / 2 mod_auth_passthrough / 2.1 mod_bwlimited / 1.4 FrontPage / 5.0.2.2635
HTTP Conf: http://pastebin.com/yBeLt6mP
Exemple de demande Parital: http://pastebin.com/vzUVDMPR
Basculez Text-Wrap si les bacs de collage apparaissent bizarres.