Frage

Wie viel Verkehr kann ein Web-Server umgehen? Was ist der beste Weg, um zu sehen, ob wir darüber hinaus sind?

Ich habe eine ASP.Net-Anwendung, die ein paar hundert Nutzer. Aspekte davon sind ziemlich rechenintensiv, aber bisher haben wir mit nur einem Server in Ordnung getan beide SqlServer und den Ort zu laufen. Es ist unter Windows Server 2003, 3,4 GHz mit 3,5 GB RAM.

Aber in letzter Zeit habe ich angefangen zu verschiedenen Zeiten verlangsamt zu bemerken, und ich frage mich, was der beste Weg ist, um zu bestimmen, ob der Server durch die Nutzung der Applikation überlastet ist oder wenn ich brauche etwas zu tun, um die Anwendung (ich zu beheben wollen nicht wirklich viel Zeit Jagd auf kleine Optimierungen verbringen, wenn ich zu viel von der Box bin nur erwarten).

War es hilfreich?

Lösung

Was Sie brauchen, ist einige Informationen über Kapazitätsplanung ..

Die Kapazitätsplanung ist der Prozess für das Wachstum und Prognose Spitzennutzungszeiten in der Reihenfolge der Planungssystem und Anwendungskapazitätsanforderungen gerecht zu werden. Es beinhaltet umfangreiche Performance-Tests die Anwendung der Ressourcennutzung und Transaktionsdurchsatz unter Last zu etablieren. Zuerst messen Sie die Anzahl der Besucher zur Zeit die Website erhält und wie viel verlangen jeden Benutzer Plätze auf dem Server, und dann berechnen Sie die Computing-Ressourcen (CPU, RAM, Speicherplatz und Netzwerkbandbreite), die notwendig sind aktuelle und zukünftige Unterstützung Nutzungsebene.

Andere Tipps

Wenn Sie den Zugriff auf einige Profilierwerkzeuge (wie jene, in der Team Suite Edition von Visual Studio) können Sie versuchen, einen Testserver einzurichten und einige synthetische Anträge gegen sie laufen und sehen, ob es irgendeinen bestimmten Teil des Codes unangemessen lange dauern würde, laufen. Sie sollen wahrscheinlich einige Grafiken von CPU- und Speichernutzung im Laufe der Zeit überprüfen Sie dies vor tun, um zu sehen, ob es sogar, dass sein kann. (A-Nummer gleich zu dem UNIX „load average“ könnte eine nützliche Metrik sein, ich weiß nicht, ob Windows etwas Vergleichbares hat. Grundsätzlich ist die durchschnittliche Anzahl der Threads, die CPU-Zeit für jede Zeitscheibe möge.)

Auch das Offensichtliche überprüfen, dass Sie nicht aus der Bandbreite ausgeführt werden.

Messen, messen, messen. Rico Mariani sagt immer das, und er hat recht.

Messen req / sec, RAM, CPU, Sessions, etc.

Sie können mit einer Caching-Strategie kommen (Output-Caching, Daten-Caching, Caching Abhängigkeiten, und so weiter.)

Siehe auch, wie Sie Ihr SQL Server tut ... Indizes ist ein guter Anfang, aber nicht das einzige, was zu sehen ..

Auf dieser Hardware sollte eine .NET-Anwendung in der Lage sein, etwa 200-400 Anfragen pro Sekunde zu dienen. Wenn Sie nur ein paar hundert Benutzer haben, bezweifle ich, Sie sehen auch zwei Anfragen pro Sekunde, so dass ich denke, Sie viel Kapazität haben auf diesem Feld auch mit SQL Server ausgeführt wird.

Ohne alle Details kennen, würde ich sagen, Nein , Sie werden keine Leistungssteigerung sehen von Server hinzugefügt werden.

By the way, wenn Sie nicht mit dem Output Cache , würde ich dort beginnen.

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