Quelles sont les limites WCF ServiceModelService.Instances?
-
22-08-2019 - |
Question
Je tente de charger tester un service WCF avec (IIS6 / Server2003 / BasicHttpBinding). Le service est étranglé comme suit:
<serviceThrottling maxConcurrentCalls="100" maxConcurrentSessions="100" maxConcurrentInstances="100"/>
Pour évaluer le nombre d'appels sur le serveur que je utilise les compteurs de performance ServiceModelService 3.0.0.0. Si j'étrangle les maxConcurrentCalls jusqu'à 20, 15, 10 ou quoi que ce soit inférieur le compteur Les instances montrent que la performance WCF respecte l'étranglement. Cependant, si je change maxConcurrentCalls 30 Je ne suis jamais en mesure d'obtenir les instances pour aller au-dessus 24. En outre, les appels ne va jamais au-dessus de 24. Outstanding quoi d'autre pourrait limiter WCF?
La solution
Voir Pourquoi seulement deux demandes concurrentes de WCF Test de charge?
Quand je regardais cette question, mon première réponse est que: le client a fait pas vraiment envoyer des demandes assez au serveur. Pourquoi donc? Voici les raisons:
1) Si vous utilisez la WCF synchrone HttpModule / HttpHandler (installé par par défaut), vous obtiendrez le maximum nombre de requêtes simultanées (détenue par ce nombre de threads ASP.NET) comme 12 * [Nombre de CPU pour la Serveur].
2) la limitation de la WCF est spécifié ci-dessus.