Pb perf au delà de 100 Ko la page environ

Comment tirer meilleur parti du serveur Apache (réservé aux utilisateurs avancés).

Modérateur : Modérateurs

trackpi
Nouveau membre
Messages : 2
Inscription : jeu. 29 janv. 2009, 17:20

Pb perf au delà de 100 Ko la page environ

Messagepar trackpi » jeu. 29 janv. 2009, 17:46

Bonjour,

Ma config : Dedibox XL, Ubuntu, Apache 2.2.8, utilisation LAMP ordinaire.
Mon pb : les pages de plus de 100 Ko environ consomme beaucoup de CPU.
Mise en évidence du pb : le petit bout de code ci-dessous

<html><body><?php
for ($j=1; $j <= 5; $j++) { // 5 tours de boucles à 50Ko chacuns = 250 Ko au total
list($usec, $sec) = explode(" ",microtime()); // chrono de debut
$debut[$j] = ((float)$usec + (float)$sec);
echo str_repeat("0123456789",5000) . '<br>' ; // envoie 50004 octets (avec le br)
list($usec, $sec) = explode(" ",microtime()); // chrono de fin
$fin[$j] = ((float)$usec + (float)$sec);
}
for ($j=1; $j <= 5; $j++) {
echo round($fin[$j]-$debut[$j], 5) . '<br>';
}
?></body></html>


Sur mon PC de developpement,je fait 5 essais :

essai 1--|-essai 2--|--essai 3-|-essai 4-|-essai 5
0,00023 | 0,00034 | 0,00023 | 0,00031 | 0,00025 1
0,00078 | 0,00076 | 0,00074 | 0,00079 | 0,00083 2
0,00599 | 0,00589 | 0,00552 | 0,00528 | 0,00581 3
0,02422 | 0,02214 | 0,02764 | 0,02392 | 0,02728 4
0,00066 | 0,00073 | 0,00067 | 0,00072 | 0,00073 5
0,03188 | 0,02986 | 0,03480 | 0,03102 | 0,03490 TOTAL

On constate que le 3eme tour de boucle marque le pas et que le 4eme tour de boucle est très lent.
Notez que le total des 5 boucles (temps de traitement de la page) est très stable.

Sur la Dedibox 5 essais idem :

essai 1--|-essai 2--|--essai 3-|-essai 4-|-essai 5
0,26066 | 0,00011 | 0,26222 | 0,00010 | 0,00010 1
0,15181 | 0,00008 | 0,15002 | 0,00007 | 0,00007 2
0,04508 | 0,26776 | 0,04857 | 0,26201 | 0,26556 3
0,01876 | 0,10594 | 0,01773 | 0,10109 | 0,14758 4
0,04895 | 0,13353 | 0,04980 | 0,11753 | 0,07146 5
0,52526 | 0,50742 | 0,52834 | 0,48080 | 0,48477 TOTAL

Les fluctuations sont beaucoup plus grandes et pas toujours au même tour de boucle (le serveur est pas en prod mais il y a ces connard de hackers qui font toujours un peu d'activité). Et ca va du pire au meilleur toujours avec un total stable mais franchement mauvais.

J'ai pas trouvé dans Apache de paramétrage genre "taille de buffer de sortie", et si j'ai su isoler le phénomène (car au début j'ai pensé à beaucoup d'autres choses, surtout coté MySql) je suis sec pour le résoudre.

trackpi
Nouveau membre
Messages : 2
Inscription : jeu. 29 janv. 2009, 17:20

Re: Pb perf au delà de 100 Ko la page environ

Messagepar trackpi » ven. 30 janv. 2009, 10:45

Pb clos.
C'est pas lié à Apache mais à Php.
Dans mon exemple précédent vous mettez un ob_start(); au début et un ob_end_flush(); à la fin et tout roule vite et bien.

Ce qui est marrant c'est que ce systeme de bufferisation est surtout décrit pour rattraper le coup dans des pages mal concues ou il y a des echos puis des header ( ce qui plante bien sur sans bufferisation) mais l'aspect performance n'est pas mis en avant alors qu'il me semble important ...


Revenir vers « Optimisation Apache »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité