Pourquoi ne WCF limite de connexions simultanées à 5?
J'ai un service WCF (basicHttpBinding) hébergé dans II7 sur Vista que je m'attends à gérer plusieurs demandes en même temps. Je suis d'essayer de test de charge, le service par spawing 200 threads dans une application de test et d'appeler le service WCF. J'ai fait ce test de l'application sur la même machine que le serveur ainsi que plusieurs autres ordinateurs et j'ai toujours le même résultat: pas plus de 5 travailleurs sont utilisés. Est-ce un WCF, HTTP IIS ou goulot d'étranglement?
OriginalL'auteur James Cadd | 2009-03-26
Vous devez vous connecter pour publier un commentaire.
C'est une fonctionnalité pour empêcher les attaques par déni de service. Hors de la boîte, WCF est conçu pour être sécurisé.
Vérifier le comportement de service, regardez dans msdn pour le paramètre et maxConcurrentSessions de configuration. Je pense que la limite est de 10, mais je peux me tromper.
La limite par défaut est de 16 ans et non 10. Btw, 0x10 est de 16 ans 🙂
MS dit que la valeur par défaut pour les sessions est de 10 .NET 3.5, 100xprocessor en 4.0+. msdn.microsoft.com/en-us/library/...
OriginalL'auteur
Voici un bel article sur WCF Exemple la Gestion de MSDN magazine par Juval Lowy:
http://msdn.microsoft.com/en-us/magazine/cc163590.aspx
Question à partir de juin 2006 (dans le cas où si MSDN va boucher leurs liens encore).
Il explique les techniques et les paramètres pour la gestion des services cycle de vie (limitation est l'un d'entre eux), et montre quels sont les paramètres à appliquer pour augmenter le nombre de connexion simultanée.
OriginalL'auteur bychkov
WCF est sécurisé par défaut. Cela signifie que les paramètres par défaut de la limite ce que vous pouvez faire avec votre service WCF pour éviter des choses comme des attaques par déni de service. C'est très bien pour internet vers des services web, mais parfois, il peut vous mordre. En fonction de ce que les fixations et les comportements que vous utilisez, il pourrait être un paramètre dans l'un de ces.
Ici est une vue d'ensemble de ces paramètres - il va me falloir de l'expérimentation sur votre partie afin de déterminer ce qu'est exactement vous mordre.
OriginalL'auteur Kurt Schelfthout
Non, c'est juste la valeur par défaut paramètres de limitation de la WCF. Il est configuré dans le maxconcurrentcalls élément d'un comportement dans le fichier de configuration du service, qui a un maxConcurrentSessions attribut. Par défaut 5, mais vous pouvez mettre ce que vous voulez.
OriginalL'auteur David M
Comme de .NET 4.5, la valeur par défaut du nombre de connexions (100 * nombre de processeurs) - ServiceThrottlingBehavior.MaxConcurrentSessions Propriété
OriginalL'auteur Dave Black