|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité de passage
![]() Inscription : avril 2011 Messages : 3 ![]() |
Bonjour à tous.
Ce post pour demander de l'aide à propos d'un comportement étrange qui peut être reproduit tout le temps (apcahe2 + php5). Je ne sait pas si je me plante mais je vais essayer d'expliquer la finalité de la démarche: J'ai besoin d'envoyer des chunks de donnée binaires (par exemple 30), puis de calculer la bande passante moyenne sur ces 30 shunts en Kbit/s. J'additionne chaque temps d'output dans une var, ainsi que la taille de chaque chunk, puis je fait le total à la fin. Code :
Dans l'exemple du dessus, ça semble marcher, mes résultats sont cohérents lorsque je limite ma bande passante sur le port 80. Maintenant, supposons que j'ai besoin de limiter l'envoi de ces chunks ( car le client à assez de data à traiter avec un shunts sur une seconde ). J'utilise usleep(1000000), ainsi, après l'envoit d'un chunk puis l'estimation du temps que cela à pris, je fait une petite pause. Code :
J'ai besoin d'aide pour comprendre ce qu'il va pas dans cet exemple, ou si c'est un comportement normal (ob_flush();/flush(); asynchrones …) Config: LAMP php 5.3 Merci ! |
||||
|
|
00
|
|
|
#2 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Tes microtime() correspondent a des temps de traitement PHP, tu ne mesures pas le temps jusqu'au client.
|
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : avril 2011 Messages : 3 ![]() |
J'avais la meme interogation.
Cependant, lorsque la bandpassante est bridee (volontairement, NetLimiter) cote client, les valeurs sans usleep correspondent pile avec ma valeure de limite. D'autres scripts prouvent que c'est un bon moyen de mesurer une bande passante disponible. C'est l'introduction des usleep qui change la donne. Il y a surement quelque chose que j'ai pas compris (de fondamental). Merci ! Nunja |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com