2010-05-17 14 views

Antwort

15

Complete answer from David Wang.
Vorteile:

  • Eine Zwischenlösung für fehlerhafte Anwendungen.

Nachteile:

  • Schlimmer Gesamtleistung.
  • Verhindern Sie die Verwendung des Sitzungsstatus im Prozess. Bei einer Stateful-Anwendung haben Sie eine weitere Leistungseinbuße, um den Status in einen externen Speicher zu serialisieren.
1

Wenn Sie einen Webserver mit mehreren Prozessoren haben (und die meisten Umgebungen haben einen) und die Leistung niedrig ist und die CPU-Auslastung ebenfalls niedrig ist, sollten Sie einen Webgarten in Betracht ziehen. Die Grundidee ist, dass anstelle eines einzelnen Arbeitsprozesses für den IIS-Dienst ein Garten einen Arbeitsprozess pro CPU aufweist, wodurch die Leistung gesteigert wird.

Here is how to configure the garden.

+11

Aber Threads in einem einzelnen Arbeitsprozess verwenden auch mehrere CPUs. – hakan

-6

Web Gardens hilft immens bei der Verbesserung von prozessintensivem verwaltetem Code. Ohne WG konkurrieren alle Thread-Dienstanforderungen um dieselben Ressourcen. Wenn Threads versuchen, Speicher zuzuweisen, führen sie häufig zu Garbage Collection. Die Garbage Collection-Aktivität friert alle Threads ein, während sie Speicher aufräumt und die Anforderung zuweist. Dies geschieht für fast jeden laufenden Thread. Durch Aufteilen der Arbeitslast auf mehrere Prozesse verfügt jeder Prozess über eigenen verwalteten Speicherbereich und eigene Speicherbereinigungen. Die allgemeine CPU-Verarbeitung steigt nur marginal, aber die CPU% für die W3WP.exe sinkt deutlich, die Transaktionsausführungszeit sinkt und die Transaktionen pro Sekunde steigen.

+1

Das ist eine Menge Unsinn. * Ohne WG konkurrieren alle Threads um dieselben Ressourcen * Eine WG konkurriert immer noch um den gleichen Pool von Serverressourcen, fügt jedoch dem Overhead den Overhead eines zusätzlichen Prozesses hinzu. * Wenn Threads versuchen, Speicher zuzuweisen, verursachen sie oft eine Garbage Collection. * Die einzige Auswirkung einer WG ist, sie dadurch * schlechter * zu machen, indem der Mischung noch mehr Threads hinzugefügt werden (jeder Prozess bekommt seine eigenen Worker-Threads, angeblich) der * Grund * für eine WG an erster Stelle). * Jeder Prozess hat wieder seinen eigenen verwalteten Speicherplatz *; Dinge * schlimmer * machen, nicht besser .... cont ... –

+0

* Die CPU-Gesamtverarbeitung steigt nur marginal * Wenn das stimmt, dann war WG überhaupt nicht die richtige Lösung (asynchrone Operationen wären besser gewesen) * aber die CPU für W3WP.exe fällt deutlich * kompletter Unsinn, * Transaktionszeit sinkt und Transaktionen pro Sekunde Rate steigt * selten; wenn die App in erster Linie schlecht entworfen wurde. –

Verwandte Themen