Announcement

Collapse
No announcement yet.

IIS bricht bei Web Service-Last weg ?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • IIS bricht bei Web Service-Last weg ?

    Hallo,

    ich habe einen einfachen Web Service mit .NET 2 in Visual Studio 2005 unter Windows XP mit dem IIS 5.1 erstellt. Dabei habe ich es beim einfachen, eingebauten Hello-World-Beispiel belassen. Der Client ruft diesen minimalen "Web Service" in einer Endlosschleife sooft er kann auf. Leider bricht mir dabei der IIS permanent weg (also muss wirklich neu gestartet werden), normalerweise so bei ca. 300 calls pro Sekunde nach 13-14 Sekunden, also bei ca. 4000 Aufrufe gesamt in den paar Sekunden. Meine Vermutung dazu ist, dass der Speicher ausgeht und der GarbageCollector nicht schnell genug aufgeräumt bekommt und der IIS daher dicht macht. Hat jemand eine Idee wie ich den IIS so tweake, dass er der Performanceprüfung stand hält, oder konkret: wie gebe ich ihm mehr Speicher ?

    Danke für die Hinweise
    --
    DevNull

  • #2
    Hallo,

    .. unter Windows XP ...
    welche Erkenntnisse soll ein Lasttest unter Windows XP Professional bringen? Nur die Server-Versionen von Windows haben keine Beschränkungen, was die Netzwerkzugriffe angeht.


    Meine Vermutung dazu ist, dass der Speicher ausgeht und der GarbageCollector nicht schnell genug aufgeräumt bekommt ...
    Diese Vermutung kann sofort über ein kleines Experiment nachgeprüft werden. Wenn die .NET Framework Configuration 2.0 aufgerufen wird, ist dort über My Computer (alias Arbeitsplatz) der Eigenschaftsdialog erreichbar. Dort legen 2 Radiobutton fest, ob der Garbage Collector im Hintergrund (Voreinstellung bei Win XP Pro) oder im Vordergrund (bei Windows 2000/2003 Server mit mehr als 1 logischen CPU) laufen soll. Wenn der GC im Vordergrund läuft, wartet er nicht, bis der Speicher ausgeht.
    Zuletzt editiert von Andreas Kosch; 21.01.2007, 11:05.

    Comment


    • #3
      Originally posted by Andreas Kosch View Post
      welche Erkenntnisse soll ein Lasttest unter Windows XP Professional bringen? Nur die Server-Versionen von Windows haben keine Beschränkungen, was die Netzwerkzugriffe angeht.
      Super, ich glaube das war die Information die mir einfach fehlte. Es war das erste mal seit WindowsNT4, dass ich wieder unter Windows entwickelt habe, und da ist dann wohl doch einiges geschehen in der Zeit

      Ich werde mal einfach auf ner Serverversion testen. Danke jedenfalls.
      --
      DevNull

      Comment


      • #4
        Originally posted by DevNull View Post
        Ich werde mal einfach auf ner Serverversion testen. Danke jedenfalls.
        Ich habe mir nun inzwischen ein System mit Windows 2003 Server organisiert.
        Es ging wie gesagt hier um eine einfache und lokale Roundtripmessung
        von Web Services mit ASP.NET in C#, der IIS war jetzt Version 6.0.

        Auch in Windows 2003 zeigt der Web Service nach ca. 6000 Zugriffen in 20 Sekunden ein komisches Verhalten, sprich der IIS ist weggebrochen (Prozess beendet). Ich habe mir nun deinen Tipp zum Garbage Collector angesehen (denn das Speicherproblem hatte ich ja ursprünglich in Verdacht) und gesehen, dass die Standardeinstellung beim Windows Server ebenfalls ein "GC im Hintergrund" war. Nachdem ich den GC auf Vordergrund geschalten habe lief es nun etwas besser. Der IIS hielt 45 Sekunden, bei ca. 300 Zugriffen pro Sekunde stand. Danach ist er aber wieder weggebrochen.
        Zuletzt editiert von DevNull; 29.01.2007, 17:28.
        --
        DevNull

        Comment


        • #5
          [SOLVED] IIS bricht bei Web Service-Last weg ?

          Originally posted by DevNull View Post
          Ich habe mir nun inzwischen ein System mit Windows 2003 Server organisiert. Es ging wie gesagt hier um eine einfache und lokale Roundtripmessung von Web Services mit ASP.NET in C#, der IIS war jetzt Version 6.0.

          Auch in Windows 2003 zeigt der Web Service nach ca. 6000 Zugriffen in 20 Sekunden ein komisches Verhalten, sprich der IIS ist weggebrochen
          Ich habe nun eine Lösung gefunden, die den Test bestehen lässt: zum einen wie von dir vorgeschlagen den GC auf Vordergrund laufen lassen (das verhindert das Speicherproblem bei den ASP.NET Anwendungen), zum anderen aber (und das war ein Problem das sowohl ASP.NET als auch J2EE unter Windows hatte): die limitierte Portrange und die damit verbundenen Abbrüche.
          Die freie Portrange ist wohl bei Windows standardmaessig nur von 1024-5000. Das konnte ich nun durch den passenden Registryeintrag lösen (http://support.microsoft.com/default...b;EN-US;196271)

          Somit läuft der Test ;-)

          Viele Grüße,
          Zuletzt editiert von DevNull; 29.01.2007, 17:27.
          --
          DevNull

          Comment

          Working...
          X