2010-06-26 11 views
1

Je souhaite tester mon serveur sur le nombre de connexions simultanées qu'il peut gérer ... en ayant des problèmes de connexion très faibles ... en d'autres termes, pour simuler un scénario de test de stress. Comment je vais y aller? Merci pour votre aide.Simulation de plusieurs connexions client à un serveur

+0

Quel protocole votre serveur utilise-t-il? –

+0

le protocole utilisé est tcp – phen

Répondre

1

Vous pouvez créer une classe appelée SimulatedClient, qui encapsule un Thread. Le thread pourrait simplement se connecter à votre serveur, ou envoyer une requête HTTP GET simulant le téléchargement d'un fichier, ou toute autre chose que vous souhaitez. Vous pouvez créer n'importe quel type d'application pour héberger les clients, par exemple une application Console ou WPF. Il peut créer n'importe quel nombre de SimulatedClients (peut-être configurable dans app.config), les démarrer tous, puis surveiller les problèmes (en interceptant et en journalisant les exceptions - ou simplement entrer dans le débogueur) et/ou effectuer des tests de performance. Si c'est le dernier, je suggère de jeter un oeil à la classe System.Diagnostics.Stopwatch. Avec un WPF ou un autre type d'application visuelle, vous pourriez avoir une belle grille (par exemple ListView avec la vue définie sur un GridView) liée à la collection de clients simulés, avec des colonnes pour des choses comme Statut, Durée, Erreurs - si vous les avez fait DependencyProperties vous verriez les résultats se mettre à jour en temps réel.

+0

bien .. merci beaucoup. – phen

+0

@EJD, suggère que vous écriviez votre propre réponse si vous pensez qu'une approche différente a des mérites différents. J'ajouterais aussi les désavantages de votre approche - la complexité de configuration, l'effort, etc. Pls ne downvote pas cependant, ceci est une réponse parfaitement viable. Soyons constructifs (partageons des idées) plutôt qu'inutiles, hein? –

+0

Si j'avais une réponse, je le fournirais parce que j'essaie de faire exactement la même chose. J'ai déclassé parce que ce n'est pas une réponse viable. C'est constructif parce que cela m'a conduit dans une direction qui n'a pas fonctionné. C'est la même chose qu'une mauvaise réponse. J'ai été déclassé pour une réponse parfaitement valide. Au moins, j'ai eu la courtoisie de fournir une explication quant à pourquoi. – EJD

0

Si c'est un serveur web voir http://support.microsoft.com/kb/231282

+0

je ne cherche pas un outil de test de stress .. je veux simuler un scénario de test de stress .. comme par exemple .. je veux connecter dire 1000 clients à un serveur, de même mon serveur sera capable pour gérer 1000 clients .. alors comment puis-je simuler 1000 clients connexion à mon serveur .. thanx – phen

+0

@phen, si le serveur est capable d'accepter 1000 clients simultanés ne supposent pas qu'il sera capable de gérer 1000 clients. Accepter les connexions est une chose, les manipuler est quelque chose d'entièrement différent. C'est pourquoi je vous ai demandé si votre serveur utilise un protocole particulier. Vous avez répondu TCP mais même HTTP est basé sur TCP, alors pourriez-vous être un peu plus spécifique? Les clients sont-ils écrits par vous? –

+0

il utilise http .. et oui les clients sont ceux que je dois écrire. ..pas le serveur .. .. simuler disent 1000 ou 2000 utilisateurs se connectant au serveur simoultanément et oui ce que j'essaie de faire est .. d'abord simuler 1000 utilisateurs .. puis dire 1000 utilisateurs en cliquant sur une URL ou en téléchargeant le même fichier de mon serveur .. n combien de fois il a montré des problèmes de connexion réseau .. merci – phen

Questions connexes