Frage

Ich bin nach ein paar Gedanken darüber, wie Menschen gehen über die Datenbanklast für die Zwecke der Kapazitätsplanung zu berechnen. Ich habe nicht auf Server Fehler gesetzt, weil die Frage nur die Anwendung auf die Messung bezogen ist und nicht die Definition der Infrastruktur. In diesem Fall ist es jemand anderer Job zu befürchten, dass etwas!

Ich bin mir bewusst, eine große Anzahl von Variablen gibt es hier, aber ich bin daran interessiert, wie andere gehen über ein Gefühl der grobe Größenordnung zu bekommen. Das ist einfach eine Nachkalkulation Übung früh in einem Projekt-Lebenszyklus, bevor eine spezifische Konstruktion so angelegt wurde nicht viele Informationen in dieser Phase zu gehen.

Die Frage, die ich je hatte vorbringen der Infrastruktur Leute ist „wie viele gleichzeitige Benutzer“. Lassen Sie sich nicht die Gründe Debatte nur diese eine Figur zu suchen; es ist genau das, was in diesem Fall gefragt ist für!

Dies ist ein Web-Frontend, SQL Server-Backend mit einem ziemlich festen, leicht quantifizierbar Publikum. Nagel dies auf tatsächliche gleichzeitige Anfragen in eine sehr groben Art und Weise, wie ich es sehe, kommt es zu immer mehr granularen Maßeinheiten nach unten:

  1. Total Publikum
  2. Gleichzeitige Sitzungen
  3. Gleichzeitige Anfragen
  4. Gleichzeitige DB-Abfragen

Dies berücksichtigt nicht Faktoren wie Web-App-Caching, Teil-Seitenanforderungen, Rekordvolumen etc und es gibt einige kreative Lizenz zu definieren Häufigkeit der Anfragen pro Benutzer und die Anzahl der DB-Hits und Ausführungszeit benötigt, aber es scheint wie eine vernünftige Startpunkt. Ich bin auch die Notwendigkeit bewusst, maßstab für Spitzenlast, aber das ist etwas anderes, das in die gleichzeitigen Sitzungen eingesteckt werden kann, falls erforderlich.

Dies ist zwar sehr einfach, und ich bin sicher, dass es umfassende Beratung da draußen. Wenn jemand ihre Annäherung an diese Übung gemeinsam nutzen können oder mich auf andere Ressourcen hinweisen, dass der Prozess ein wenig machen könnte weniger ad hoc, das wäre toll!

War es hilfreich?

Lösung

Ich werde versuchen, aber offensichtlich ohne die Details zu kennen es ziemlich schwierig ist, eine genaue Beratung zu geben.

Zunächst einmal haben die Infrastruktur Jungs könnten diese Frage aus der Lizenzierung Perspektive (SQL Server pro Benutzer lizenziert oder pro CPU werden kann) gefragt

Nun zurück zu Ihrer Frage. „Total Publikum“ ist wichtig, wenn man vorhersagen kann / Arbeit aus dieser Nummer. Dies können Sie im schlimmsten Fall geben, wenn alle Benutzer die Datenbank schlagen auf einmal (zum Beispiel 09.00 Uhr, wenn alle Protokolle in).

Wenn Sie Sitzungsinformationen speichern würden Sie wahrscheinlich mindestens zwei Verbindungen pro Benutzer (1 Sitzung + 1 Haupt-DB). Aber diese Zahl kann durch Verbindungspooling reduziert (manchmal deutlich) sein (hängt davon ab, wie Sie mit der Datenbank verbinden). Verwenden Sie ein Worst-Case-Szenario -. 50 Systemanschluss + 2 * Anzahl der Benutzer

Die gleichzeitigen Anfragen / Anfragen sind abhängig von der Art der Anwendung. Sie benötigen weitere Informationen. Mehr gleichzeitige Anfragen (an Ihrem Frontend) auf mehr Anfragen am hinteren Ende nicht unbedingt übersetzen.

Having said all das. - für die Kalkulationszwecken Sie auf ein größeres Bild konzentrieren müssen

  1. SQL-Server-Lizenz (Wenn mein Gedächtnis nicht täuscht mich rechts) ~ 128K AUD (Dual Xeon) kosten. Hot / Warm-Standby? Doppelte der Kosten.

  2. Festplattenspeicher - wie viel Speicherplatz benötigen Sie? Platten sind relativ billig, aber wenn Sie vorhaben, SAN verwenden, um die Kosten könnten bemerkbar. Auch -. Je mehr Platten desto besser aus anwendungstechnischer Sicht

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