Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Max de threads

2 réponses
Avatar
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.

2 réponses

Avatar
Christian ASTOR
On 28 sep, 14:49, Moi wrote:

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
Avatar
Thierry
Moi écrivait
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).