OVH Cloud OVH Cloud

[OpenBSD] httpd tres tres lent

6 réponses
Avatar
Pierre
Salut

J'ai un petit soucis avec mon install OpenBSD 3.9. Je veux mettre en
ligne differentes choses mais le probl=E8me c'est que mon apache mouline
a n'en plus pouvoir.
Mon serveur est une petite config : pentium 133Mhz avec 350Mo de RAM.
Dessus j'ai du mysql, php5 (tout installe via les packages). J'ai teste
Roundcube (quasi inexploitable tellement c'est lent), IlohaMail (limite
mais mieux que Roundcube), gallery2 (idem Roundcube).
Je n'ai rien de particulier dans les logs apache ni mysql et il me
reste 250Mo de RAM libre. La chose que j'ai remarque, ce que si je
tente d'acceder a un de mes sites, httpd utilise enormement de cpu :
charger une page d'admin gallery2 (ie pas de photos rien), je suis a
68% user, 20%idle.. ce qui me parait bcp pour une simple page sur
laquelle il n'y a que du texte.
J'avoue que je ne sais plus trop quoi faire, ni vers ou regarder pour
tenter de trouver ce qui peut bien se passer.
Je precise aussi que j'avais precedemment installe un gallery2 sur un
OpenBSD 3.6 et tout fonctionnait nickel.
Deuxieme precision : je teste depuis mon reseau local donc pas de pb de
debit a priori et je ne teste qu'un site a la fois donc pas de pb de
surcharge non plus a priori.

Si qqn a une idee ou une piste pour me permettre d'avancer, je suis
preneur.

Merci

6 réponses

Avatar
[Mike]
Pierre wrote:
Salut

J'ai un petit soucis avec mon install OpenBSD 3.9. Je veux mettre en
ligne differentes choses mais le problème c'est que mon apache mouline
a n'en plus pouvoir.
Mon serveur est une petite config : pentium 133Mhz avec 350Mo de RAM.
Dessus j'ai du mysql, php5 (tout installe via les packages). J'ai teste
Roundcube (quasi inexploitable tellement c'est lent), IlohaMail (limite
mais mieux que Roundcube), gallery2 (idem Roundcube).
Je n'ai rien de particulier dans les logs apache ni mysql et il me
reste 250Mo de RAM libre. La chose que j'ai remarque, ce que si je
tente d'acceder a un de mes sites, httpd utilise enormement de cpu :
charger une page d'admin gallery2 (ie pas de photos rien), je suis a
68% user, 20%idle.. ce qui me parait bcp pour une simple page sur
laquelle il n'y a que du texte.
J'avoue que je ne sais plus trop quoi faire, ni vers ou regarder pour
tenter de trouver ce qui peut bien se passer.
Je precise aussi que j'avais precedemment installe un gallery2 sur un
OpenBSD 3.6 et tout fonctionnait nickel.
Deuxieme precision : je teste depuis mon reseau local donc pas de pb de
debit a priori et je ne teste qu'un site a la fois donc pas de pb de
surcharge non plus a priori.

Si qqn a une idee ou une piste pour me permettre d'avancer, je suis
preneur.

Merci

regle firewall??



--
Mike

Avatar
Pierre

Pierre wrote:
Salut

J'ai un petit soucis avec mon install OpenBSD 3.9. Je veux mettre en
ligne differentes choses mais le problème c'est que mon apache mouline
a n'en plus pouvoir.
Mon serveur est une petite config : pentium 133Mhz avec 350Mo de RAM.
Dessus j'ai du mysql, php5 (tout installe via les packages). J'ai teste
Roundcube (quasi inexploitable tellement c'est lent), IlohaMail (limite
mais mieux que Roundcube), gallery2 (idem Roundcube).
Je n'ai rien de particulier dans les logs apache ni mysql et il me
reste 250Mo de RAM libre. La chose que j'ai remarque, ce que si je
tente d'acceder a un de mes sites, httpd utilise enormement de cpu :
charger une page d'admin gallery2 (ie pas de photos rien), je suis a
68% user, 20%idle.. ce qui me parait bcp pour une simple page sur
laquelle il n'y a que du texte.
J'avoue que je ne sais plus trop quoi faire, ni vers ou regarder pour
tenter de trouver ce qui peut bien se passer.
Je precise aussi que j'avais precedemment installe un gallery2 sur un
OpenBSD 3.6 et tout fonctionnait nickel.
Deuxieme precision : je teste depuis mon reseau local donc pas de pb de
debit a priori et je ne teste qu'un site a la fois donc pas de pb de
surcharge non plus a priori.

Si qqn a une idee ou une piste pour me permettre d'avancer, je suis
preneur.

Merci

regle firewall??



--
Mike


J'y ai pense.. Mais sur mon interface interne, je n'ai aucune regles de
filtrage justement...
Juste des scrub..


Avatar
Pierre

Pierre wrote:

Si qqn a une idee ou une piste pour me permettre d'avancer, je suis
preneur.


Pas de problèe de DNS ? C'est très souvent la cause de latences dans un
réseau.

--
XAv
Squeeze my lemon, baby, 'til juice run down my leg


Je ne pense pas non.. J'ai un serveur DNS en local et pas de soucis de
ce cote la.. Et quand je tente avec l'ip, ca marche pas mieux non
plus..
Par contre je viens de voir ceci, si je fais un vmstat. La premiere
ligne est celle juste avant que je tente d'acceder a un de mes sites.
La derniere, une fois que la page a fini de charger.

procs memory page disks traps
cpu
r b w avm fre flt re pi po fr sr wd0 fd0 int
sys cs us sy id
0 0 0 59568 241284 4 0 0 0 0 0 0 0 232 117
23 0 0 100
1 0 0 59588 241264 149 0 0 0 0 0 18 0 245 397 40
11 4 85
1 0 0 68048 232748 1215 0 0 0 0 0 82 0 273 1457 95
72 11 17
1 0 0 71400 229348 658 0 0 0 0 0 135 0 299 1709 137
56 12 32
0 0 0 60224 240472 308 0 0 0 0 0 28 0 287 1660 69
34 12 55
0 0 0 60224 240472 4 0 0 0 0 0 0 0 233 137
33 0 1 99

Ce qui m'intrigue c'est le nombre de page flt qui monte brusquement et
vous pouvez constater la montee du cpu (pour une page banale, la page
d'accueil de gallery2 (qui je le reprecise, ne contient encore aucune
photos...)


Avatar
bsdouille
bonjour;

J'ai exactement eu la mm chose que vous il ya qq temps avec un 400Mhz
/256sdr ,
avec gallery2/php/mysql à ce moment la , il me semble que ça venait
du php (un probleme de version (mais je me souviens plus trop ))
bref j'ai fini par changer de machine ,
je trouve gallery un peu lourd pour un petite machine .

lagez vous sur une vulgaire page html ?


Bsdouille
Avatar
Pierre

bonjour;

J'ai exactement eu la mm chose que vous il ya qq temps avec un 400Mhz
/256sdr ,
avec gallery2/php/mysql à ce moment la , il me semble que ça venait
du php (un probleme de version (mais je me souviens plus trop ))
bref j'ai fini par changer de machine ,
je trouve gallery un peu lourd pour un petite machine .

lagez vous sur une vulgaire page html ?


Bsdouille


En remettant mon httpd.conf dans sa config originale, je pointe par
defaut sur le manuel de apache. Et effectivement, pas de soucis de
latence, ca marche tres bien.
Le pb viendrait donc du php ?? Je precise qu'il s'agit de la version
"officielle" (des packages quoi). Le pb se pose aussi donc pour mes
autres sites (roundcube et ilohamail) qui rament enormement...
Qqn d'autre a rencontre ce pb ?? Quelle solution alors ? Recompiler une
version plus recente de php ?
Je vais commencer par tester avec du php4 alors.. Je vous tiens au
courant.
Merci Bsdouille de ta reponse.

Avatar
Olivier Brisson
Pierre schrieb:


bonjour;

J'ai exactement eu la mm chose que vous il ya qq temps avec un 400Mhz
/256sdr ,
avec gallery2/php/mysql à ce moment la , il me semble que ça venait
du php (un probleme de version (mais je me souviens plus trop ))
bref j'ai fini par changer de machine ,
je trouve gallery un peu lourd pour un petite machine .

lagez vous sur une vulgaire page html ?


Bsdouille


En remettant mon httpd.conf dans sa config originale, je pointe par
defaut sur le manuel de apache. Et effectivement, pas de soucis de
latence, ca marche tres bien.
Le pb viendrait donc du php ?? Je precise qu'il s'agit de la version
"officielle" (des packages quoi). Le pb se pose aussi donc pour mes
autres sites (roundcube et ilohamail) qui rament enormement...
Qqn d'autre a rencontre ce pb ?? Quelle solution alors ? Recompiler une
version plus recente de php ?
Je vais commencer par tester avec du php4 alors.. Je vous tiens au
courant.
Merci Bsdouille de ta reponse.


Bonjour Pierre,

Il serait intéressant de faire un petit benchamark de votre PHP. J'ai à
ce titre écrit un petit bout de code en PHP qui calcule deux trois
fonctions "cryptographiques". Voici le code du programme:

------------------------------------------------------------------------

<?php

$mtime = microtime();
$mtime = explode(" ",$mtime);
$mtime = $mtime[1] + $mtime[0];
$starttime = $mtime;

function rypt ($mot_a_crypter,$type_cryptage,$type_cryptage_nom) {
$hash = mhash($type_cryptage, $mot_a_crypter);
echo "Le hash de $mot_a_crypter avec du $type_cryptage_nom vaut
".bin2hex ($hash)."<br />n"; }

if (function_exists('rypt')) {
echo "Les fonctions de cryptage sont disponibles.<br />n";
} else {
echo "Les fonctions de cryptage ne sont pas disponibles.<br />n";}


echo "-------------------------------------------<br />";
call_user_func ('rypt',"hello",MHASH_MD5,"MHASH_MD5");
call_user_func ('rypt',"salut",MHASH_MD5,"MHASH_MD5");
call_user_func ('rypt',"FreeBSD",MHASH_MD5,"MHASH_MD5");
call_user_func ('rypt',"FreeBSD",MHASH_SHA1,"MHASH_SHA1");
call_user_func ('rypt',"Alban",MHASH_SHA1,"MHASH_SHA1");
call_user_func ('rypt',"Niels",MHASH_SHA1,"MHASH_SHA1");
call_user_func ('rypt',"Olivier",MHASH_SHA1,"MHASH_SHA1");
call_user_func ('rypt',"NetBSD",MHASH_SHA1,"MHASH_SHA1");
call_user_func ('rypt',"OpenBSD",MHASH_SHA1,"MHASH_SHA1");
call_user_func ('rypt',"Patricia",MHASH_SHA1,"MHASH_SHA1");
call_user_func ('rypt',"education",MHASH_SHA1,"MHASH_SHA1");
call_user_func ('rypt',"Sabine",MHASH_SHA1,"MHASH_SHA1");
call_user_func ('rypt',"ghefGepfu",MHASH_SHA1,"MHASH_SHA1");
call_user_func ('rypt',"KibVochkac",MHASH_SHA1,"MHASH_SHA1");
call_user_func ('rypt',"Neudyorr",MHASH_SHA1,"MHASH_SHA1");
call_user_func ('rypt',"rovJuvneNo",MHASH_SHA1,"MHASH_SHA1");
call_user_func ('rypt',"jiukatket@",MHASH_SHA1,"MHASH_SHA1");

echo "-------------------------------------------<br />";

echo ("Test des fonctions cryptographiques:");
echo ("<br />");

$input = "what do ya want for nothing?";
$hash = mhash (MHASH_MD5, $input);
echo "Le hash de $input vaut ".bin2hex ($hash)."<br />n";
$hash = mhash (MHASH_SHA1, $input);
echo "Le hash en SHA1 de $input vaut ".bin2hex ($hash)."<br />n";
$hash = mhash (MHASH_MD5, $input, "Jefe");
echo "Le hmac de $input vaut ".bin2hex ($hash)."<br />n";

echo ("<br />");
echo ("<br />");

$mtime = microtime();
$mtime = explode(" ",$mtime);
$mtime = $mtime[1] + $mtime[0];
$endtime = $mtime;
$totaltime = ($endtime - $starttime);

echo ("<br />");

echo "This page was created in ".$totaltime." seconds";
echo ("<br />");
echo ("Et voici le temps arrondi: ");
print (round($totaltime,2));
echo ("<br />");

?>
<?php echo "le système d'exploitation du serveur est ", PHP_OS; ?>

<?php echo $_SERVER[SERVER_NAME]; ?>

<?php echo $_SERVER[HTTP_USER_AGENT]; ?>

-------------------------------------------------------------------

Je ne suis pas un expert en PHP, mais ce script me donne quelques idées
sur la performance de ma machine.

Pour te donner un ordre d'idée, sur une machine équipée d'un sempron
2400 avec 512Mo de Ram, ce script est executé en 0.0003 secondes.
J'ai PHP 5.1.6 et FreeBSD 5.4

Executer le code sur ma machine:
http://haribo.zenunix.eu/phptest/benchmark.php
voir le code source:
http://haribo.zenunix.eu/phptest/benchmark.phps

Cordialement,

Olivier

--