2008-10-21 7 views
32

Was sind die Vor- und Nachteile dedizierter Anwendungspools gegenüber dem Beibehalten von Webanwendungen in einem Standardanwendungspool?Pro und Kontra von dedizierten Anwendungspools über das Beibehalten von Webanwendungen in einem Standardanwendungspool

+0

Es könnte eine gute Idee für Sie sein zu klären, ob Sie über interaktive Anwendungen oder Websites sprechen, die Inhalte bereitstellen. Auch, wie viele Apps/Webseiten Sie sprechen. Die Antwort kann abhängig von dieser Information sehr unterschiedlich sein. – AnthonyWJones

Antwort

20

Vorteile:

  • Anwendungen voneinander isoliert werden, es sei denn, IIS geht mit ihm, ein app-Pool Verriegelung nehmen nur aus Anwendungen in diesem Pool
  • Fähigkeit, Anwendungen unter verschiedenen ASP.NET-Laufzeiten laufen , ein Pool für 1.1 ein weiterer für 2.0, falls benötigt
  • Möglichkeit, verschiedene App-Pool-Einstellungen für mehr oder weniger kritische Anwendungen zu haben. Zum Beispiel könnte eine Unternehmenswebsite in ASP.NET das Herunterfahren nach __ Minuten Inaktivität aktiviert haben, um das Entladen zu verhindern, da die Antwort kritisch ist. Andere Websites benötigen es möglicherweise nicht.
  • Sie können Pools in Bezug auf den Dateizugriff voneinander schützen, ideal für Anwendungen von Drittanbietern oder nicht vertrauenswürdige Anwendungen, da sie unter einem sehr restriktiven Benutzerkonto ausgeführt werden können.

Nachteile:

  • Jeder Anwendungspool verfügt über einen eigenen Speicherbank und seinen eigenen Prozess, kann daher mehr Ressourcen verwenden
  • Manche finden es schwierig, die Anwendung zu debuggen, wie Sie
  • mehrere Prozesse haben
+0

Kleine Welt. Nette Antwort, Mitch! :) –

15

Dedizierte App-Pools verhindern normalerweise, dass Probleme in einer Site auftreten. Wenn Sie App-Pools auf mehreren Websites freigeben, können Sie alle Websites in der Box löschen, wenn nur für eine bestimmte Website (oder einen App-Pool) eine Fehlerbedingung vorliegt.

Wenn Sie Versionen von ASP.Net auf demselben Webserver mischen, benötigen Sie mindestens verschiedene App-Pools pro ASP.Net-Version oder pro Website.

Ich kann mir keinen guten Grund vorstellen, App Pools nicht zu trennen, es ist so einfach zu machen.

15

Der Hauptgrund für das Kombinieren von Websites in App-Pools besteht darin, Speicher zu sparen. Es gibt einen großen Speicheraufwand beim Ausführen mehrerer w3wp.exe-Prozesse. Wenn Sie keinen besonderen Grund haben, sie aufzuteilen, ist es besser, sie zusammenzuhalten.

+1

habe nicht daran gedacht ... guter Punkt. – JasonS

+3

Bitte fügen Sie einen Kommentar hinzu, wenn Sie eine Antwort abstimmen. Die Person, die die Frage gestellt hat, mochte diese Antwort. Ist die Antwort falsch? Warum? – DOK

+0

+1 dafür. Es ist keine pauschale Antwort. Ich habe eine App mit mehreren Ebenen, die neben einer Demo-Site läuft. Die Service- und Content-Websites der Demosite befinden sich alle im selben App-Pool, während die Produktion getrennt ist. Es ist sinnvoll, beides zu tun, da dies eine sehr einfache Möglichkeit ist, Ressourcen zuzuordnen. – Gats

5

Ich stimme Jason zu.

Sie können auch verschiedene Benutzer (z. B. ein Windows-Konto) für verschiedene App-Pools festlegen. Dadurch können diese Benutzer mit unterschiedlichen Berechtigungen in der Datenbank eingerichtet werden. Dies trägt zur Erhöhung der Sicherheit bei und ermöglicht es, zu verfolgen, welche Website/welcher Benutzer die Datenbank trifft, was beim Aufspüren von Datenbankleistungsproblemen hilfreich ist.

+0

Tatsächlich mit [Anwendungspoolidentitäten] (https: // blogs. iis.net/webdevelopertips/tip-98-did-you-know-the-default-application-pool-identity-in-iis-7-5-windows-7-change-from-networkservice-to-apppoolidentity), Sie kann DB-Berechtigungen * für einen bestimmten Anwendungspool * erteilen, ohne dass zusätzliche Windows-Konten erforderlich sind. Dies schützt auch die Daten Ihres Kunden: Wenn eine Web-Anwendung pned wird, erhält der Angreifer keinen Zugriff auf die anderen Datenbanken. – Heinzi