Frage

Ich möchte Sie fragen, was das beste Setup für eine folgende Anwendung:

ASP.NET 3.5-Website - verwendet als Präsentationsschicht, eine Menge von AJAX und JS. Wird der Server nicht viel getroffen.

ASP.NET WCF - Sevice alle Daten an die Anwendung bereitstellt. Es ist verantwortlich für die Validierung, Datenmodellierung / Vorbereitung und Kommunikation mit dem DB-Server.

Datenbank - SQL Server 2005 Standard, ist eine gewisse Logik auf der Server-Seite als gespeicherte Prozeduren codiert. Einige der Logik kann raubend ein bisschen Zeit. Meiner Meinung nach ist es die Ressource Teil der App raubend.

Die Website kann bis zu 1000 Benutzer pro Minute. Intel Bi Xeon Quad 8x 2,00 + GHz, 16 GB RAM, SSD oder RAID-Laufwerke: Wir können in der folgenden Konfiguration bis zu 4 Servern haben.

Was ist der beste Weg, Teile der Anwendung auf den physischen Servern zu platzieren? Werden sie diese Art der Belastung umgehen?

War es hilfreich?

Lösung

In der Anwendung beschreiben, wie ich vermute, dass Thread-Management ein großes Problem sein wird. Werfen Hardware auf das Problem möglicherweise nicht der beste Ansatz sein.

Im Hinblick auf die Partitionierung, es hängt davon ab, ob Sie Dinge wie Caching und Cache-Benachrichtigungen nutzen können. Wenn jeder Aufruf der App die DB getroffen hat und eine lange gespeicherte Prozedur ausführen, dann können Sie mehr DB Maschinen und Bahn weniger Front-End-Server haben.

Dies ist ein großes Thema. In einem Versuch, eine einigermaßen umfassende Antwort auf genau diese Art von Frage zu finden, endete ich ein Buch darüber zu schreiben up: Ultra-Fast ASP.NET:. Erstellen ultra-Fast und ultra Scalable Web-Sites mit ASP.NET und SQL Server

Andere Tipps

Je weniger skalierbar in einem beliebigen Anwendung Datenbank-Server ist, können Sie mehr Web- und Anwendungsserver hinzufügen, aber Sie können DB nicht replizieren mit der gleichen Leichtigkeit, so dass Sie in einer langen Sicht profitieren, wenn DB keine Logik enthalten, wird insbesondere jeden lange Lauf Logik. In vielen der Faktor Anwendungen begrenzt, ist nicht CPU, sondern Speicher darüber nachdenken, Benutzer-Sessions, wenn Sie 1 MB Daten pro Benutzer speichern Sie Anwendungen in der Lage, 64.000 silmantanius Benutzersitzungen mit Ihnen Maschinen zu unterstützen es ausreichend sein kann oder nicht. Beide Probleme können durch die Verwendung der Anwendungsebene Caching gemildert werden, aber dies kann dazu führen, dass Reihe von Problemen own, weil Sie jetzt mit veralteten Daten konfrontiert. Um Session basierte Websites skalieren müssen Sie Smart-Load-Balancer-Lösung verwenden, die klebrigen Sitzungen unterstützt, für Ihre Lasten wahrscheinlich werden Sie Hardware Load Balancer müssen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top