Bereitstellung von Skalierbarkeit für ASP.NET-Anwendungen

Von Iqbal Khan

Die Popularität von ASP.NET, dem Webanwendungs-Framework von Microsoft, nimmt innerhalb der Entwickler-, Unternehmens- und IT-Ränge weiterhin sprunghaft zu. Es gibt jedoch eine Schwierigkeit: Die Skalierung von ASP.NET-Anwendungen ist einfach nicht möglich.

Skalierbarkeit hat in diesem Zusammenhang zwei Bedeutungen. Erstens müssen Sie in der Lage sein, Spitzenlasten der Benutzer effektiv zu bewältigen, da jede Anwendung hinsichtlich der Anzahl der zu jedem Zeitpunkt angemeldeten Benutzer Höhen und Tiefen durchläuft. Wenn Sie die Infrastruktur entwerfen, möchten Sie die Anwendung so gestalten, dass sie die Spitzenlasten genauso effizient und schnell bewältigen kann wie die Nichtspitzenlasten.

Zweitens müssen Sie in der Lage sein, die Gesamtkapazität Ihres Systems zu erhöhen. Heute haben Sie möglicherweise nur 5,000 Benutzer. Sechs Monate, ein Jahr später haben Sie vielleicht 10,000, 15,000 oder 20,000, und in ein paar Jahren könnten Sie am Ende 100,000 Benutzer haben. Bei der Skalierbarkeit geht es darum, mit der Anzahl der Benutzer wachsen zu können, ohne dass die Anwendung zum Erliegen kommt. Dies bedeutet, dass Sie weitere Benutzer hinzufügen können, ohne dass die Leistung merklich beeinträchtigt wird. Sollte es zu einer Verschlechterung kommen, sollte diese innerhalb eines akzeptablen Bereichs liegen.

Den ganzen Artikel lesen

Eine typische ASP.NET-Anwendung wird auf einem oder mehreren Webservern bereitgestellt, die in einer Webfarm miteinander verbunden sind, mit einem Lastenausgleich, der den Datenverkehr auf alle Webserver verteilt. Theoretisch gilt: Je mehr Webserver Sie hinzufügen, desto mehr Anfragen sollten Sie pro Sekunde verarbeiten können. Die Architektur einer Webfarm soll ASP.NET Skalierbarkeit verleihen. Das ist die Theorie; Die Realität sieht etwas anders aus.

Das Problem für ASP.NET-Anwendungen besteht darin, dass die Webtechnologie zwar eine elegante Architektur von Webfarmen und Lastausgleichsfunktionen bereitstellt, die Datenspeichertechnologien jedoch nicht mithalten können. Natürlich können Sie eine Webanwendung skalieren, indem Sie weitere Server hinzufügen oder die Leistung einzelner Server durch mehr Arbeitsspeicher und CPU-Leistung erhöhen.

Dabei kann die Datenspeicherung jedoch nicht im gleichen Verhältnis skaliert werden. Es lässt sich zwar skalieren, aber nicht so stark wie die Webanwendungsebene. Folglich stellt alles in Ihrer ASP.NET-Anwendung, das mit der Datenspeicherung oder dem Datenzugriff zusammenhängt, einen potenziellen Skalierbarkeitsengpass dar. Genauer gesagt lässt sich ein Datenbankserver weder für Sitzungen noch für Anwendungsdaten skalieren.

Den ganzen Artikel lesen
© Copyright Alachisoft 2002 - Alle Rechte vorbehalten NCache ist eine eingetragene Marke der Diyatech Corp.