Bonjour,
j'ai un serveur que j'aimerais bien tester sa charge.
pour cela j'ai développé un client qui implémente 250 thread. chaque thread devra envoyer des messages periodiquement selon une loi de poisson sur une socket qu'il ouvre en TCP avec le serveur.
Coté serveur, j'implémente un select qui traite toute les connexion entrante. Tout les envoie sont fait en mode TCP.
tous les messages qu'envoie mes thread sont des messages d'une taille inférieure à 1000 Octets.
En faisant des test j'ai remarqué que mon serveur génère quelques erreurs lors de la manipulation des messages recus. en débuggant j'ai remarqué que le la fonction recv recoit parfois des messages d'une taille de 1448 Octets ((j= recv(i, buf, sizeof(buf), 0)) = 1448)(dépassement de la Max SDU qui est de 1500 dans le cas d'ethernet) malgres que les messages que j'envoie sont toujours inférieur à 1000 Octets.
Svp, y a t'il quelqu'un qui a eu un pb pareil. Je ne sais pas si le problème viens de l'utilisation de socket paralèlle pour l'envoie avec plusieurs threads ou pas !!!!
De l'aide svp !!!!!
Partager