Tworzę narzędzie do testowania obciążenia serwera. Tworzę wiele różnych wątków, które wysyłają oddzielne żądania do serwera. Wydaje się być ograniczony przez ChannelFactory. To wąskich gardeł na co rzeczywiste wywołanie usługi, na przykład:Maksymalna liczba połączeń w ChannelFactory
_proxy.MyServiceCall(...);
próbowałem kilka różnych sposobów:
- użyciu jednego statycznego ChannelFactory współdzielony przez wszystkich wątków
- Tworzenie nowego kanału fabryka za wątku
- Tworzenie nowej fabryki kanału za połączenie
Wszystko prowadzą one do dość podobnej wydajności. Wygląda na to, że globalna pula statyczna dostępnych połączeń jest używana przez fabrykę kanałów. Próbowałem już to sprawdzić, ale nie mogłem nic znaleźć. Czy wiesz więcej na ten temat? Czy uważasz, że moje przypuszczenie, że istnieje statyczna pula połączeń jest poprawna? Jeśli tak, to czy wiesz, jak to można skonfigurować?
Jest obecna konfiguracja aplikacji testowej:
<configuration>
<system.serviceModel>
<client>
<endpoint binding="wsHttpBinding" bindingConfiguration="SynchronizationServiceBinding" contract="My.Namespace.ISynchronizationService" name="ClientBinding">
</endpoint>
</client>
<bindings>
<wsHttpBinding>
<binding name="SynchronizationServiceBinding" maxBufferPoolSize="2147483647" maxReceivedMessageSize="10485760">
<security mode="Transport">
<transport clientCredentialType="None"/>
</security>
<reliableSession enabled="false"/>
<readerQuotas maxArrayLength="1000000"/>
</binding>
</wsHttpBinding>
</bindings>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup> </configuration>
Czy masz skonfigurowane [dławienie] (http://msdn.microsoft.com/en-us/library/ms735114%28v=vs.90%29.aspx)? – oleksii
Nie mam dostępu do konfiguracji serwera, ale wiem, że serwer jest w stanie przetworzyć wiele innych połączeń, a następnie narzędzie testowe jest obecnie w stanie wysłać, więc limit jest gdzieś w narzędziu do testowania. Dodałem konfigurację narzędzia do testowania. – kazvictor