L'augmentation de max connexions simultanées pour le service web IIS7 (charge de test)

Je suis en train d'écrire un simple testeur de charge pour l'un de nos services web, qui est desservie par les IIS7. J'ai décidé de lancer une charge de threads (Tâches) que d'appeler le service web comme une Référence Web.

Malgré le fils toute de départ, à seulement 2 connexions simultanées à partir de l'app peuvent être traitées par le service web.

Je suis conscient que par la spécification connexions simultanées sont limités à 2 par utilisateur. Pour l'amour de cette charge testeur, qui je pense est un utilisateur, je voudrais ouvrir un grand nombre de connexions simultanées.

J'ai essayé d'ajouter les éléments suivants pour le web.config du service web.

  <system.net>
    <connectionManagement>
      <add address="*" maxconnection="40"/>
    </connectionManagement>
  </system.net>

Ma configuration est comme suit:

Le service web est situé à http://devserver/MyWebServiceApp/MyWebService.asmx, où MyWebServiceApp est configuré comme une application.

La webmethod peut être considéré comme quelque chose de trivial qui attend simplement de, disons, 20 secondes avant de retourner une réponse (ce qui la rend facile de ne voir que 2 connexions sont ouvertes à tout moment).

La forme la plus simple de la charge testeur de code est le cul suit:

Imports System.Threading.Tasks

Module SuperBasicLoadTester

    Sub Main()
        ThreadLauncher(10)
    End Sub

    Sub ThreadLauncher(ByVal numberOfThreads As Integer)
        Dim tasks(numberOfThreads - 1) As Task
        For index As Integer = 0 To numberOfThreads - 1
            tasks(index) = Task.Factory.StartNew(AddressOf SendRequest)
        Next
        Task.WaitAll(tasks)
    End Sub

    Sub SendRequest()
        Dim myWebServiceCaller As New MyWebService.ServiceMethods
        myWebServiceCaller.Url = "http://devserver/MyWebServiceApp/MyWebService.asmx"
        Dim response As String = myWebServiceCaller.MyWebServiceMethod("Some string passed to the web service method")
    End Sub

End Module

J'ai essayé de pointage d'autres tests de charge des logiciels (par ex. soapUI) au service web et ont observé le même problème.

Je serais reconnaissant pour toute idée de comment faire pour augmenter cette limite de connexion (à des fins de test).

Modifications:

  • Je dois ajouter que le service web de la boîte est en cours d'exécution de Windows 2008 R2.
  • Aussi, j'ai SoapUI et mon loadtester en même temps et chaque est
    seulement en mesure de demander des 2 connexions (soit 4 au total).

Merci d'avance,

Ali

OriginalL'auteur alergy | 2012-03-29