Mein Service funktioniert gut unter geringer Last. Aber unter hoher Last bekomme ich Verbindungsfehler.WCF listenBacklog und maxConnections können nicht höher als 10 gesetzt werden. Warum nicht?
Ich weiß über andere Einstellungen, aber ich versuche, den Parameter listenBacklog insbesondere für meine TCP gepufferte Bindung zu ändern.
Wenn ich listenBacklog = "10" einstelle, kann ich in den Port telnet, wo mein WCF-Dienst läuft.
Wenn ich listenBacklog auf etwas höher als 10 ändern, wird es mich nicht telnet in meinem Dienst, wenn es ausgeführt wird.
Keine Fehler scheinen geworfen zu werden.
Was kann ich tun?
Ich bekomme das gleiche Problem, wenn ich meine maxConnections weg von 10 ändere. Alle anderen Eigenschaften der Bindung kann ich höher ohne ein Problem einstellen.
Hier ist, was meine Bindung aussieht:
<bindings>
<netTcpBinding>
<binding name="NetTcpBinding_IMyService" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
transactionFlow="false" transferMode="Buffered" transactionProtocol="OleTransactions"
hostNameComparisonMode="StrongWildcard" listenBacklog="10" maxBufferPoolSize="524288"
maxBufferSize="1048576" maxConnections="10" maxReceivedMessageSize="1048576">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
<reliableSession ordered="true" inactivityTimeout="00:10:00"
enabled="false" />
<security mode="Transport">
<transport clientCredentialType="Windows" protectionLevel="EncryptAndSign">
</transport>
<message clientCredentialType="Windows" />
</security>
</binding>
...
ich die Werte von maxConnections und ListenBacklog wirklich erhöhen müssen
Tolle erste Frage. Mach weiter. ... Ich sehe, dass Ihr clientCredentialType auf Windows eingestellt ist. Ich bin mir nicht sicher, ob es eine Verbindung gibt, aber es stellt sich die Frage: Ist es möglich, dass Sie maximal 10 Verbindungslimits für die physischen Ordner haben, die Ihre Anwendung hosten? Überprüfen Sie das. Dies könnte eher ein Problem auf Plattformebene als ein logisches WCF-Problem sein. –
Auf welcher Maschine und welchem Betriebssystem laufen Sie? Ich erinnere mich vage daran, dass bestimmte Windows-Versionen mit einer maximalen Begrenzung von 10 Clients direkt in Windows integriert sind - vielleicht ist das Ihr Problem hier: Windows ermöglicht Ihnen 10 Anrufer und schließt dann die Türen ... wenn Sie dies auf XP oder etwas ausführen: versuchen Sie es auf einer Windows Server-Version –