On Wed, May 12, 2004 at 08:59:54AM +0200, Cedric Cellier wrote:
> Il me semble que tu oublis compl�tement un petit d�tail : il faut que
> si l'un des serveurs part en vrille, il ne bloque pas les autres.

Sauf s'il meurt en gardant des ressources et bloque le
reste... ou qu'au lieu de mourrir il se retrouve en boucle
inifinie et prenne trop de temps processeur...

> C'�tait pendant longtemps le probl�me de mysql si j'ai bien compris : il
> n'avait qu'une file de requete : une requ�te prenait trois heures ? tant
> pis, pendant ce temps l� les autres n'avancaient pas... Au total, le
> temps CPU pour traiter toutes les requ�tes sera le m�me (et m�me, il
> sera moindre), mais ce n'est pas un comportement acceptable.

Ouaip, le temps de traitement est �videment � prendre en
compte. Ok, je fus sans doute trop cat�gorique: il y a
certains cas o� il faut faire comme �a (un serveur Web qui
appelle un CGI dont on ne connait pas le temps d'execution
par exemple), et l'architecture � adopter d�pend du probl�me
� r�soudre. Par contre, trop de programmeurs pensent qu'un
tas de threads va aider, quand les threads en question ne
servent � rien (La derni�re fois que je l'ai utilis�, Galeon
lan�ait 6 threads... bah pourquoi faire?).

Y.

Répondre à