Max de threads

Le
Moi
Bonjour,

Je voudrais savoir quel est le nombre maximum de threads que Windows
peut gérer ? Je voudrais écrire un programme serveur qui verra plus de
10.000 clients se connecter et qu'il gèrera chacun dans un thread. Cela
est il raisonnable ? Faut il envisager plusieurs machines ? Et dans ce
cas, comment répartr les threads sur les différentes machines ?

Merci.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Christian ASTOR
Le #22629071
On 28 sep, 14:49, Moi
Je voudrais savoir quel est le nombre maximum de threads que Windows
peut gérer ?



http://blogs.technet.com/b/markrussinovich/archive/2009/07/08/3261309.aspx
Thierry
Le #22753561
Moi news:i7soab$j1a$:

Bonjour,

Je voudrais savoir quel est le nombre maximum de threads que Windows
peut gérer ? Je voudrais écrire un programme serveur qui verra plus de
10.000 clients se connecter et qu'il gèrera chacun dans un thread. Cela
est il raisonnable ?



Non ! Dans les regles de l'art on utilise plutot des IO asynchrone (voir la
fin de l'artice de Russinovitch donné par CAstor) et un thread gere
plusieurs connections.

En cas d'un nombre elevé de connections tu peux avoir plusieurs threads.
Regarde par exemple apache: il a un nombre de thread max et chacun gere n
connections.

Dans ton cas je dirais 200 connections / thread, soit 50 thread max.
A toi de customiser (ca peut être 100 / 100) en fonction de la bécane, la
mémoire, etc.

Faut il envisager plusieurs machines ? Et dans ce
cas, comment répartr les threads sur les différentes machines ?



Ben tu lances un instance de ton prog sur chacune des machines, mais faut
un stockage des données commun. Pour repartir les clients il te faut soit
un frontal qui dispachera les connection, ou faire du round robin DNS (le
DNS resolvera sur des IP/serveurs différents pour répartir la charge).
Publicité
Poster une réponse
Anonyme