Es gibt viele verschiedene Faktoren, die hier im Spiel sein könnten. Ein Stich auf die Bemerkung, dass die Änderung Ihres Instanziierungsmodells auf dem Dienst null Wirkung hatte (große IF hier), dann ist es möglich, dass der "Engpass" dem Dienst vorgelagert ist. Entweder auf dem Webserver oder dem Client-Lastgenerator.
Sie haben mehrere Bereiche für die Optimierung zu überprüfen: Client, Webserver, WCF-Service-Server - vorausgesetzt, es gibt keine Netzwerkgeräte in der Mitte. Wähle ein Ende und arbeite in Richtung des anderen Endes. Da ich bereits davon ausgehe, dass es nicht der Service ist, würde ich beim Kunden anfangen und mich auf den Weg zum WCF-Service machen.
Client
Welche Maschine treibt die Last gegen den Webserver an? Ein Laptop? Ein Desktop? Ein dedizierter Test-Agent oder ein gemeinsamer? Der Client, der für diesen Test als Lastgenerator fungiert, ist ebenfalls anfällig für maxConnections Einschränkung, da dies eine Clienteinstellung ist.
Wie hoch ist die CPU-Auslastung des Clients, der die Last erzeugt? Könnte es sein, dass der Testtreiber gerade nicht in der Lage ist, genügend Last zu erzeugen, um diese Boxen zu pushen? Können Sie Ihrem Test weitere Testclients hinzufügen?
Web Server
Was bedeutet das system.net/processModel Element wie auf den ASP.NET-Webserver in machine.config aussehen? Versuchen Sie, autoConfig = true zu setzen. Dies ermöglicht die automatische Größenanpassung der Konfiguration basierend auf der "Größe" des Computers, auf dem sie ausgeführt wird.
WCF-Dienst
Bewertung WCF-Dienst für jegliche Drosselung Standardeinstellung, die in geeigneter Weise im Spiel und zwicken sein könnten. Siehe ServiceThrottlingBehavior auf MSDN.
Lassen Sie uns alle Änderungen im Verhalten wissen, die Sie (wenn überhaupt) beobachten können, wenn Sie irgendwelche Änderungen vornehmen!
per @Raphael, zusätzliche Informationen könnten ebenfalls helfen. Wie wird der Service gehostet? Welche Versionen von OS, .NET Framework? Welche Versionen von IIS usw.? –