Frage

Ich werde oft gefragt, Größe und Kapazitätsplanung für unsere Kunden durchzuführen. Wenn unsere Kunden unsere Produkte kaufen (im Grunde J2EE Web-Anwendungen), fragen sie oft, was Hardware benötigen sie diese Produkte laufen. Unsere Empfehlungen führen oft zu hohen Kosten Hardware Akquisitionen.

Bisher die beste Heuristik ich entwickeln, um die Nutzung Vorsprünge (Anzahl der registrierten und gleichzeitig angemeldete Benutzer, dass die Anwendung teilnehmen soll) vergleichen mit den Daten in unserer bestehenden Anlage gesammelt. So etwas wie:. Wenn die Installation A Attends 100 gleichzeitige Benutzer mit X-Hardware, dann wird die Installation B benötigt 2 * X-Hardware 200 gleichzeitigen Benutzer teilnehmen

Dieser Ansatz hat jedoch eine Reihe von Problemen. Kunden oft verschiedene Hardware- und Software-Plattformen verwenden. Die Menge der Produkte, die sie von uns kaufen, ist in der Regel nie die gleichen und in der Regel Teile der Anwendung auf Bestellung für bestimmtes Client erstellt werden. Setzen Sie zu berücksichtigen, dass Software-Versionen ändern usw. und es gibt so viele Parameter, die die Aufgabe der Dimensionierung sehr schwierig machen kann.

studierte ich einige Bücher über das Thema und einige schlagen komplexe mathematische Modelle. Die Anzahl der Parameter diese Ansätze als Eingabe erfordern (zB detaillierte Klassifizierung von Anwendungsfunktionen) lässt mich denken, diese kaum von Nutzen sind. Hardware wird in der Regel bestellt, bevor auch die grundlegenden Anforderungen definiert sind, nicht zu erwähnen, dass diese im gesamten Anwendungsentwicklung und Lebenszyklus variiert. Also, wie gehen Sie zum Ändern der Größe und Kapazitätsplanung? Irgendwelche Tipps und How-Tos geschätzt.

War es hilfreich?

Lösung

Wenn Hardware bestellt werden muss, bevor der Grund reqs definiert ist, na ja, über das Beste, was Sie tun können, ist die Fähigkeit, Baseballstadion von Ihnen installierte Basis für eine ähnliche Reihe von Projekten suchen (wie Sie sich jetzt tun). Behalten Sie Ihre bestehenden Kunden Erfahrung in Skalierung und Kapazitätsanforderungen, wie sie ihre Anlagen wachsen, und wenn Sie eine ausreichend große Basis haben, können Sie wahrscheinlich tun grobe Kurvenanpassung durch ähnliche Projekte mit ähnlicher Hardware Gruppierung und Kapazitätsanforderungen suchen. Sehen Sie, wie bestehende Kunden Kapazitätsänderung während des Wachstums als auch für zusätzliche Datenpunkte benötigt.

Im Idealfall ist der anfängliche HW / SW-Kauf für eine Pilotanlage, und Sie Benchmark der Pilot Setup sobald es nach oben und Tagungs spec. Verwenden Sie diese Ergebnisse Kapazitätsbedarf für den Umzug von Pilot-Produktion zu projizieren. Natürlich erfordert dieses Mal in dem Piloten-to-Produktionsplan die App dann um und nimmt Lieferung der Ausrüstung zur Benchmark. Aber es wird eine genauere Schätzung Kapazität geben, als alles im Voraus zu tun.

Andere Tipps

Es gibt keine einfache oder mathematische Formel Maßstab in der Beschreibung zur Vorhersage Sie gab, wenn Sie (oder Ihr Unternehmen) ernsthaft über diese dann der beste Weg ist es, eine Performance und Skalierbarkeit Testumgebung, wo Sie können leicht Setup & Tear bauen unten bei ihnen verschiedene Client-Konfigurationen und Sende Last zu sehen, wie sie tun. Weil Sie benutzerdefinierte Komponenten erstellen, geschrieben ein schlechtes Komponente oder fehlendes Index kann Schlamassel alles, also eine Umgebung, die wie das ist, wo man diese Dinge aus, bevor er an den Client bügeln kann. Sobald Sie diese Art von Umgebung haben, können Sie Speicher und CPU an den Applikationsserver und Datenbanken hinzufügen, um zu sehen, wie Ihre Anwendung Skalen.

Ich würde eine VM-Umgebung vorschlagen, wo sie leicht CPU & Speicher auf Anforderungen der Anwendung auf Basis hinzufügen, gekoppelt mit einiger realistischen externen Last / Skala Testen einen Service wie Mouse oder browsermob verwendet wird.

Wenn die app Skalen horizontal in einer gracefull Weise eine grobe anfängliche Schätzung ist ok als Ausgangspunkt. Hinzufügen oder Entfernen von zusätzlichen Boxen nach Bedarf sollte, sobald die App läuft in der Produktion einfach sein.

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