WCF des limites de connexion
Nous avons un WCF net.service tcp en haut du trafic du site.
http://www.artedelcorpo.com/
Il fonctionne très bien pour un certain temps, puis il s'arrête et renvoie une erreur de dépassement de délai.
Quand j'ai redémarrer IIS, il s'exécute à nouveau.
Pourquoi?
Est-il une limite sur les connexions?
- L'exécution d'un WCF la trace pourrait donner un aperçu.
- L'erreur est: "le Système de.Net.Les Sockets.Exception socketexception (0x80004005): L'opération d'e/S a été annulée en raison d'une sortie de thread ou à la demande d'une application"
Vous devez vous connecter pour publier un commentaire.
Il y a un réglage par défaut de 10 connexions pour le NetTcp de Liaison. Vous pouvez augmenter ce dans le
<binding>
la section de votre config. Le même est vrai pour les délais d'attente par défaut est de 1 minute, mais vous pouvez également régler la clôture du délai d'attente, ouvert délai d'attente, le délai d'attente de recevoir et d'envoyer des timeout.L'exemple ci-dessus définir les délais d'attente de 5 minutes, et le max de connexions à 100.
Voir
<netTcpBinding>
pour plus de détails/informations.L'augmentation des délais d'attente réseau vous permet d'acheter du temps pour que la demande soit traitée. Cela peut vous aider à survivre à une courte rafale de trafic élevé, mais il ne change pas votre débit du système.
Si votre matériel a encore de la marge en termes de mémoire et de CPU lorsque ces problèmes se produisent, vous devez changer votre simultanéité des manettes des gaz. Cela permettra à plus de demandes à traiter en parallèle. Le par défaut valeurs d'accélération dans .NET 3.5 sont en fait assez conservateur, et ce pourrait être une solution rapide (en fonction de votre architecture du service).
Voici quelques bonnes des exemples de configuration de Service WCF gaz.
Si votre matériel est à son maximum et vous obtenez toujours les délais d'attente, c'est probablement le temps de cluster le service et ajouter un autre nœud.