Wie Viel Leistung Hat Ihr Cloud-Server Wirklich Brauchen?

0
45
agsandrew/Shutterstock

Die meisten cloud-Anbieter unterteilen Ihre Angebote durch die Anzahl der CPU-Kerne und RAM-Speicher. Sie benötigen eine große multicore-server, oder eine ganze Flotte von Ihnen? Hier ist, wie zu gehen, Messen Sie Ihre server real-world-performance.

Enthält Ihre Anwendung Benötigen, um “Scale”?

Es ist sehr üblich, für tech-Start-UPS angezogen zu sein, “skalierbare” Architektur, bauen Sie Ihre server-Architektur in einer Weise, dass jede Komponente, die es skaliert werden kann, dass jede Menge Nachfrage.

Das ist toll und alle, aber wenn Sie nicht erleben, dass die Menge von real-Welt-Verkehr, kann es zu viel des guten (und teurer) zu bauen skalierbare Architektur, mit der Absicht, Skalierung bis zu einer million Benutzern, wenn Sie nur die Verwaltung von ein paar tausend.

Sie priorisieren wollen den Aufbau einer guten app über außergewöhnliche Gebäude-Infrastruktur. Die meisten Anwendungen laufen erstaunlich gut mit nur ein paar einfach zu verwalten-standard-Servern. Und wenn die app überhaupt nicht es groß machen, Ihr Wachstum wahrscheinlich geschehen wird, die im Laufe von ein paar Monaten, so dass Sie ausreichend Zeit (und Geld) zu arbeiten, die sich auf Ihre Infrastruktur.

Skalierbare Architektur ist immer noch eine gute Sache herum zu bauen, obwohl, vor allem bei Diensten wie AWS, wo autoskalierender kann verwendet werden, zu verkleinern und Geld sparen, während nicht-peak-Stunden.

RELATED: Wie Zu beschleunigen einen Langsamen Website

Sie Müssen Planen Sie für die Spitzenauslastung

Die wichtigste Sache im Auge zu behalten ist, dass Sie nicht die Planung um Durchschnittliche Belastung, die Sie planen, um die Spitzenlast. Wenn Ihr Server nicht verarbeiten kann Ihre Spitzenlast in der Mittagszeit, Sie noch nicht Ihren Zweck erfüllt. Sie müssen sicherstellen, dass Sie Messen und verstehen Sie Ihre server-Last im Laufe der Zeit, anstatt einfach nur einen Blick auf die CPU-Auslastung in einem einzigen moment.

Skalierbare Architektur kommen in praktisch hier. Sich schnell drehen einen spot-instance (das ist oft viel billiger) zu nehmen etwas von der Last Weg von Ihrem Haupt-Server ist eine sehr gute design-Paradigma, können Sie erheblich Kosten senken. Nach allem, wenn Sie brauchen nur zwei Server für ein paar Stunden am Tag, warum bezahlen, um führen Sie es über Nacht?

Die meisten großen cloud-Anbieter haben auch skalierbare Lösungen für Containern wie Docker, mit denen Sie Dinge skalieren sich automatisch, da Sie Ihre Infrastruktur dupliziert werden kann, leichter.

Im ZUSAMMENHANG: Was Bedeutet das Andockfenster Tun, und Wann Sollte Man Es Verwenden?

Wie Viel Leistung Wird Von Ihrem Server Geben?

Es ist eine schwierige Frage zu beantworten, genau, jeder von Anwendungen und websites sind unterschiedlich, und jeder server-hosting ist das anders. Wir können nicht geben Ihnen eine genaue Antwort auf die server der genau Ihren Anwendungsfall das beste ist.

Was wir tun können ist Ihnen sagen, wie zu gehen, zu Experimentieren, für sich selbst zu finden, was funktioniert am besten für Ihre spezielle Anwendung. Es umfasst die Ausführung Ihrer Anwendung unter realen Bedingungen in der Welt, und die Messung bestimmter Faktoren, um zu bestimmen, wenn Sie über – oder underloaded.

Wenn Ihre Anwendung ist überlastet, können Sie spin up einen zweiten server und einen Lastenausgleich verwenden, um die balance der Verkehr zwischen Ihnen, wie Sie AWS Elastic Load Balancer oder Schnell Load Balancing service. Wenn es deutlich underloaded, können Sie möglicherweise sparen Sie ein paar Dollar zu mieten, ein billiger server.

CPU-Auslastung

CPU-Auslastung ist wahrscheinlich der nützlichste Metrik zu betrachten. Es gibt Ihnen einen Allgemeinen überblick darüber, wie überlastet Sie Ihren server ist; wenn die CPU-Auslastung ist zu hoch, der Betrieb der server ausgebremst.

CPU-Auslastung ist sichtbar in der oberen, und die Belastung im Durchschnitt für die letzten 1, 5 und 15 Minuten sind auch sichtbar. Es erhält diese Daten aus /proc/loadavg/, so melden Sie diese in eine CSV-Datei und Diagramm in Excel, wenn Sie wollen.

Die meisten cloud-Anbieter haben eine viel bessere Grafik für dieses wenn. Hat AWS CloudWatch, was zeigt die CPU-Auslastung für jede einzelne Instanz unter den EC2-Metriken:

Google-Cloud-Plattform, zeigt eine schöne Grafik unter der “Monitoring” – Reiter in der Instanz info:

In beiden Diagrammen können Sie die Zeitskala, um die Anzeige der CPU-Auslastung über die Zeit. Wenn dieser graph ununterbrochen auf 100%, möchten Sie vielleicht zu schauen in die Modernisierung.

Halten Sie im Verstand, obwohl, dass, wenn Ihr server verfügt über mehrere Kerne, kann die CPU-Auslastung immer noch “überlastet”, während die Grafik ist bei weitem nicht 100%. Wenn Ihre CPU-Auslastung ist fixiert in der Nähe von 50%, und Sie haben ein dual-core-server haben, ist es wahrscheinlich, dass Ihre Anwendung ist hauptsächlich single-threaded, und nicht sehen, jede performance-Vorteile.

RAM-Auslastung

RAM-Auslastung ist weniger wahrscheinlich zu schwanken viel, wie es ist weitgehend eine Frage von, ob oder nicht Sie genug haben, zum ausführen einer bestimmten Aufgabe.

Sie können die Speichernutzung anzeigen schnell in der Spitze, die zeigt die aktuell zugewiesenen Speicher für jeden Prozess in der “RES” – Spalte, als auch bei der Anzeige Verwendung als Prozentsatz des gesamten Arbeitsspeichers in die “%MEM” – Spalte.

Drücken Sie Umschalt + M, um Sortieren nach %MEM, die Listen die meisten Speicher-intensive Prozesse.

Beachten Sie, Speicher-Geschwindigkeit wirkt sich auf die CPU-Geschwindigkeit bis zu einem gewissen Grad, aber es wahrscheinlich nicht der limitierende Faktor, es sei denn, man läuft eine Anwendung, die erfordert, dass bare-metal und die schnellsten Geschwindigkeiten möglich.

Speicherplatz

Wenn Ihr server läuft out of space, es kann zum Absturz bestimmter Prozesse. Sie können überprüfen, Festplattennutzung mit:

df -H

Dies zeigt eine Liste aller Geräte, die an Ihrem Beispiel, von denen einige möglicherweise nicht für Sie nützlich sein. Suchen Sie nach der größten (wahrscheinlich /dev/sda1/), und Sie können sehen, wie viel gerade benutzt wird.

Sie müssen eine effiziente Verwendung der log-rotation, und stellen Sie sicher, es gibt nichts, schaffen Sie überflüssige Dateien auf Ihrem system. Wenn es, möchten Sie vielleicht, um es zu begrenzen, nur die Speicherung der letzten Dateien. Sie können löschen Sie die alten Dateien durch die Verwendung finden mit Zeit-Parameter, die an einer cron-job, der einmal pro Stunde läuft:

0 * * * * find ~/backups/ -type f -mmin +90 -exec rm -f {} ;

Dieses Skript löscht alle Dateien in ~/backups/ Ordner, die älter sind als 90 Minuten (für einen Minecraft server, der machte 1GB+ große backups alle 15 Minuten, füllt einen 16-GB-SSD). Sie können auch verwenden, logrotate, das erzielt den gleichen Effekt mehr aus, als diese hastig geschriebenen Befehl.

Wenn Sie speichern eine Tonne von Dateien, möchten Sie vielleicht zu prüfen, bewegen Sie zu einem managed storage service S3. Es wird billiger als mit Festplatten, die an Ihre Instanz.

RELATED: Wie Setup Logrotate unter Linux (um Ihre Server von Running Out of Space)

Netzwerk-Geschwindigkeit

Es ist nicht ein guter Weg, um das zu überwachen nativ, also, wenn Sie wollen zu bekommen eine gute command-line-Ausgang, installieren sar von sysstat:

sudo apt-get install sysstat

Aktivieren Sie es, indem Sie /etc/default/sysstat und Einstellung von “ENABLED” auf “true”.

Dabei überwacht das system und generiert einen Bericht alle 10 Minuten, drehen Sie sich einmal pro Tag. Sie können dieses Verhalten ändern, indem Sie Bearbeiten die sysstat-crontab /etc/cron.d/sysstat.

Man kann Sie sammeln Durchschnitt des Netzwerk-Verkehrs mit dem -n flag:

sar -n DEV 1 6

Die, pipe to tail für eine bessere Leistung:

sar -n DEV 1 6 | tail-n3

Es zeigt einen Durchschnitt von Paketen und die kilobytes, die pro Sekunde gesendet werden, auf jeder Netzwerk-Schnittstelle.

Es ist einfacher zu verwenden, eine GUI für dieses, obwohl, von CloudWatch hat eine “NetworkIn” und “NetworkOut” Statistik für jede Instanz:

Sie können ein dynamisches label mit einer SUMME-Funktion, die zeigt das gesamte Netzwerk in bytes für einen bestimmten Zeitraum.

Ob oder nicht sind Sie eine überlastung Ihres Netzes ist schwer zu beurteilen; die meisten der Zeit, Sie sind begrenzt durch andere Dinge, wie, ob oder nicht Sie Ihre server mit halten können Anfragen, bevor Sie sich Gedanken über Bandbreiten-Nutzung.

Wenn Sie wirklich besorgt über die Verkehrssituation oder wollen, um zu dienen, große Dateien, sollten Sie erwägen, ein CDN. Ein CDN kann auch beide etwas die Last von Ihrem server, und aktivieren Sie Sie, um zu dienen statische Medien sehr effizient.