Einer der großen Vorteile der Verwendung von Rackspace CloudServern ist die Flexibilität, dass Sie nur die Menge an Rechenleistung kaufen müssen, die Sie benötigen. Wenn das Geschäft gut läuft und Sie Ihre Serverkapazität erhöhen müssen, können Sie Ihre Implementierung horizontal skalieren, indem Sie Ihren Datenverkehr mithilfe von Cloud LoadBalancern auf mehrere Server verteilen.
Eine Möglichkeit, herauszufinden, wie viel Rechenleistung Sie benötigen, besteht darin, Ihre Anwendung auf einigen Implementierungen unterschiedlicher Größe zu installieren und zu testen. Laden Sie dann testweise Ihre Anwendung, während Sie den Datenverkehr zu Ihrer Website simulieren.
Wir empfehlen Ihnen, Ihre Website von einer URL aus zu testen, die mehr als nur das Abrufen einer statischen Webseite ermöglicht. Greifen Sie beispielsweise auf eine Seite zu, die PHP verwendet und eine Datenbankabfrage durchführt, um den Test repräsentativer für normalen Datenverkehr zu machen.
Dieser Artikel zeigt Ihnen einige der Standardtools, mit denen Sie die Leistung Ihres Servers anzeigen können, und hilft Ihnen festzustellen, ob die von Ihnen gewählte Servergröße der Aufgabe gewachsen ist.
Überlegungen
Rackspace Cloud Server sind virtuelle Partitionen größerer physischer Maschinen, die Ressourcen basierend auf einem Prozess zuweisen, der als Central Processing Unit (CPU) Scheduling bezeichnet wird. Infolgedessen funktionieren sie nicht genau wie eine dedizierte Maschine mit ähnlichen Ressourcen. Sie können mehr über die CPU-Planung erfahren, indem Sie den Abschnitt „Leistung“ der häufig gestellten Fragen zu Cloud-Servern lesen.
OnMetal Cloud Server sind ebenfalls verfügbar. OnMetal-Server sind Single-Tenant-Bare-Metal-Server, die Sie über dieselbe OpenStack®-API wie einen Rackspace-Cloud-Server bereitstellen. Da Sie sie so schnell wie virtuelle Maschinen (VMs) erstellen oder löschen können, bieten sie die Agilität von Multi-Tenant-Umgebungen die Leistung von Single-Tenant-Hardware.
Beachten Sie auch, dass es Cloud-Server in den folgenden Varianten oder Servertypen gibt:
- Für allgemeine Zwecke optimiert
- Speicheroptimiert
- E/A-optimierte Server
Die Flavors „Memory“, „Compute“ und „I/O“ bieten einen schnelleren Festplattenzugriff und eine schnellere Netzwerkgeschwindigkeit als die Flavors „General Purpose“. Datenträgergröße und virtuelle CPU-Zuweisung sind für äquivalente Varianten unterschiedlich. Vergleichen Sie die Angebote basierend auf den Leistungsanforderungen, die Sie in den folgenden Abschnitten identifizieren.
Die folgende Tabelle zeigt Flavor-Klassen für verschiedene Workloads:
(Prototyp) | (Skala) | (Optimieren) |
---|---|---|
Virtuelle Allzweckserver | Allzweck- oder Workload-optimierte virtuelle Server | Allzweck- oder Workload-optimierte OnMetal-Server |
Beschreibung | ||
VMs, die auf Multi-Tenant-Hosts ausgeführt werden. Kleinere Größen, ausgewogene Ressourcen und CPU- und Netzwerk-Burst-Fähigkeit bieten die niedrigsten Preise und das beste Preis-Leistungs-Verhältnis. | VMs, die auf Multi-Tenant-Hosts ausgeführt werden. Kleinere Größen und Workload-spezifische Designs ermöglichen eine Preis-Leistungs-Optimierung für Ihre spezielle Anwendung. | API-gesteuerte, sofort bereitgestellte Single-Tenant-Bare-Metal-Server. Vollständige Host- und Workload-spezifische Designs bieten große Kosteneffizienz sowie maximale und konsistente Leistung. |
Allgemein | Workload optimiert | Workload optimiert |
Klassenname:Allgemein v1 | Klassenname:Compute v1 | Klassenname:OnMetal Allzweck |
Anwendungsfälle: - Testen und Entwickeln - Webserver mit geringem bis mittlerem Traffic - Stapelverarbeitung - Netzwerkanwendungen - Kleine bis mittlere Datenbanken | Anwendungsfälle: – Webserver mit mittlerem bis großem Datenverkehr, Anwendungsserver, Stapelverarbeitung und Netzwerkgeräte | Anwendungsfälle: – Webserver mit großem Datenverkehr, Anwendungsserver, Stapelverarbeitung und Netzwerkanwendungen |
E/A optimiert | E/A optimiert | |
Klassenname:I/O v1 | Klassenname:OnMetal I/O | |
Anwendungsfälle: - Mittlere bis große relationale Datenbanken und NoSQL-Datenspeicher | Anwendungsfälle: - Umfangreiche Online-Transaktionsverarbeitung (OLTP), relationale Datenbanken und NoSQL-Datenspeicher | |
Speicheroptimiert | Speicheroptimiert | |
Klassenname:Speicher v1 | Klassenname:OnMetal Memory | |
Anwendungsfälle: – Mittlere bis große Caches, Suchindizes und In-Memory-Analysen | Anwendungsfälle: - Große Caches, Suchindizes und In-Memory-Analysen |
Leistungstests unter Linux
Wenn Ihre Anwendung auf einem Linux®-System ausgeführt wird, gibt es viele Dienstprogramme, mit denen Sie feststellen können, wie gut Ihr Server mit der Last umgeht. Die wichtigsten Statistiken, die Sie untersuchen sollten, sind der Lastdurchschnitt auf dem Server und dem verfügbaren Arbeitsspeicher während Ihre Anwendung ausgeführt wird.
Sie können die folgenden Dienstprogramme verwenden, um die Serverleistung zu überwachen:
-
free
:Dies ist ein schnelles und benutzerfreundliches Überwachungsdienstprogramm, das Ihnen eine Momentaufnahme des verfügbaren Speichers auf Ihrem Server bietet. Hinzufügen des-m
wechseln Sie zu dem Befehl zeigt Ihnen den verfügbaren Speicher in Megabyte (im Gegensatz zur Standardmessung, die Kilobyte ist). -
top
Hinweis:Dieses Dienstprogramm prüft nicht nur den verfügbaren Speicher. Sie können auch die durchschnittliche Auslastung auf dem Server und die Prozesse anzeigen, die die meisten Ressourcen auf Ihrem Server verwenden. -
iotop
:Sie können dasiotop
verwenden Befehl zum Überwachen der Festplatten-E/A pro Prozess. -
dstat
:Diedstat
Der Befehl zeigt Ihnen die E/A-Statistiken und andere Informationen mit größerer Vielseitigkeit als andere Befehle.
Hinweis :Möglicherweise müssen Sie zusätzliche Pakete auf Ihrem Server installieren, um iotop
verwenden zu können und dstat
Befehle.
Wenn Sie diese Tools verwenden, während Sie Ihre Webanwendung ausführen, und eine übermäßige durchschnittliche Auslastung oder eine übermäßige Speicherauslastung feststellen, müssen Sie entweder Ihre Anwendung optimieren oder eine leistungsfähigere Servervariante auswählen, auf der sie ausgeführt werden soll.