2017-10-31 8 views
-2

TL; DR;So schätzen Sie den Ressourcenverbrauch der Webanwendung

Gibt es eine Technik, mit der ich den Ressourcenverbrauch einer Webanwendung abschätzen kann? Wenn ja, welche Art von Informationen brauche ich als Eingabe? Anzahl der Benutzer? Datentypen von Feldern, die beibehalten werden sollen? Wie viele Transaktionen werden erwartet?

Mehr context: Ich habe den Aufwand zur Entwicklung einer Webanwendung geschätzt, sagen wir eine E-Commerce-APP (Produkt CRUD, Bestellung CRUD, Zahlungen ...), jetzt muss ich die Ressourcen schätzen, die ich brauche Damit diese App reibungslos funktioniert.

Beispiel:

16GB RAM 
    4 Core CPU (3.0 GHz +) 
    500GB PostgreSQL 

Wie kann ich die Werte schätzen, besser in Bezug auf Arbeitsspeicher, Festplatte und CPU?

+0

Es gibt keine objektive Möglichkeit, diese Frage zu beantworten, da das Thema des Lasttests sehr weit gefasst ist (so wie ein eCommerce-System - gibt es keinen Weg, ein solches System zu erstellen, und keine einzige Möglichkeit, das zu entwerfen Datenbank). Sie müssen einige Tests auf eigene Faust durchführen. Dies ist auch keine Programmierfrage. Leider nicht zum Thema StackOverflow. –

+0

@DavidMakogon, ich nenne nicht Belastungstests, ich rede über Schätzung der Ressourcenverbrauch für eine Anwendung, die ich noch nicht entwickelt habe (Der E-Commerce ist nur ein Beispiel ..). Was die Beziehung der Frage und die Programmierung anbelangt, erwähnen Sie sogar, dass es von der Art abhängt, wie ich die Datenbank oder die Anwendung entwerfe, was bedeutet, dass es tatsächlich einen Bezug zur Programmierung/Gestaltung gibt. Was ich verlange, ist: "Wenn Sie die Ressourcen schätzen müssten, die für eine App benötigt werden, die Sie noch entwickeln müssen, wie würden Sie das tun? Und warum sollten Sie das so machen?". – Frankra

+0

Was ich sage ist, es gibt keine Antwort auf Ihre Frage, ohne auf Leistung und Auslastung zu testen. Und was ich in Bezug auf den Datenbankkommentar meinte, war, dass verschiedene Datenbankschemas (oder Engines oder Abfragestrukturen) die Leistung in irgendeiner Weise beeinflussen, aber wiederum keine Möglichkeit, dies zu sagen, es sei denn, Sie testen etwas. Dafür gibt es keine Zauberformel. –

Antwort

1

Dies ist eine sehr schwierige Sache zu schätzen. Persönlich, wenn ich eine Schätzung abgeben müsste, würde ich sie in Multiplikatoren aufteilen. Berechnen Sie die Kapazität, die für ein einzelnes Produkt, eine einzelne Bestellung und einen einzelnen Benutzer benötigt wird ... Dann multiplizieren Sie. Das wird sehr grob sein. Was die CPU-Geschwindigkeit betrifft, ist es unmöglich, ohne Belastungstest zu sagen. Sehr kleine Entscheidungen können einen großen Einfluss auf den Verarbeitungs-/Speicherverbrauch haben. Die Entscheidung, eine In-Memory-Hashtabelle im Vergleich zu einer Datenbank auf der Festplatte für Schlüsselwert-Lookups zu verwenden, könnte Ihren Speicherverbrauch um Größenordnungen erhöhen. Ihre Wahl der Programmier-Frameworks kann auch große Auswirkungen haben.

Ich könnte ein E-Commerce-System schreiben, das auf einem Rasberry PI läuft ... Oder eines, das mehrere Cluster von Dutzenden von Maschinen erfordert ... Es hängt alles von Skalierungsfaktoren, Designfaktoren, Entwicklerfertigkeiten, Implementierungsfaktoren ab. usw.

+0

Das habe ich gerade versucht. Normalerweise entwerfe ich das Ganze, also weiß ich, was Stack, Frameworks und Services sind, aber trotzdem, wenn es um CPU und Speicher geht, ist es ziemlich schwierig, die Zahlen "sicherer" zu bekommen. Wie auch immer, es war eine Antwort wie deine, die ich erwartet hatte. Vielen Dank – Frankra

Verwandte Themen