Ich wurde kürzlich gefragt: "Wissen Sie, wann Sie sich für mehr RAM oder mehr Server entscheiden müssen?" (im Zusammenhang mit der Skalierung von Data Mining-Anwendungen).
Ich hatte keine Ahnung, wie kann ich mich entscheiden? Ich habe nur sehr geringe Kenntnisse über Architektur und Skalierung (mein Verständnis des Computerspeichers und der Funktionen eines Servers beschränkt sich auf die Grundlagen auf hoher Ebene). Tipps zum Erlernen dieser Dinge im Allgemeinen sind daher ebenfalls sehr willkommen.
Antworten:
Die Antwort ist, sobald Sie mir die Metriken für den betreffenden Server geben, werde ich Ihnen sagen, welche (oder ob es sich überhaupt lohnt, sie hinzuzufügen). Diese Art der Optimierung ist kein Voodoo (es sei denn, Sie verwenden Anwendungen ohne Instrumentierung und Server-Betriebssysteme ohne Instrumentierung - dann ist es Voodoo), sondern Wissenschaft. Messen Sie die Anwendung und den Server. Kurz gesagt, ermitteln Sie mithilfe der Überwachungsmetriken, wo der Leistungsengpass liegt, und fügen Sie weitere hinzu.
quelle
Bei der Verbesserung der Server- / Anwendungsleistung gibt es im Allgemeinen einiges an Voodoo (oder zumindest Versuch und Irrtum).
Die allgemeine Regel für die gestellte Frage lautet, zuerst den Speicher zu erhöhen, bis er nicht mehr erhöht werden kann, ODER bis mehr Speicher die Leistung nicht mehr verbessert. Da der Speicher relativ billig ist, kann es einfacher sein, den Speicher einfach zu maximieren. Wenn die Anwendung festplattenlastig ist, kann ein Upgrade auf Hochgeschwindigkeitslaufwerke oder Hochleistungscontroller einen Unterschied machen.
Die sehr allgemeine Natur der Frage lässt mich jedoch denken, dass es keine anderen Versuche gegeben hat, die Leistung zu verbessern. Ich bin damit einverstanden, dass Hardware billig ist, so dass es einfach genug ist, mehr Server auf ein Problem zu werfen. Ich würde aber auch sicherstellen, dass andere Wege beschritten wurden, insbesondere die Optimierung des Betriebssystems und der Datenbank. Manchmal können kleine Änderungen an der Datenbank, dem Betriebssystem oder sogar der Anwendungskonfiguration zu enormen Leistungsverbesserungen führen.
Suchen Sie auf dieser Website mit Ihrem spezifischen Betriebssystem, Ihrer Datenbank und Ihrer Anwendung, und Sie könnten Gold finden.
quelle
Als Unternehmensarchitekt habe ich mich fast täglich mit diesem Thema befasst. Vertikale oder horizontale Skalierung?
Was sind deine Bedürfnisse?
Müssen Sie mehr Benutzer unterstützen? Müssen Sie die Geschwindigkeit des Dienstes verbessern? Benötigen Sie beides? Benötigen Sie Hochverfügbarkeit 99.9999 oder können Ihre Benutzer Ausfallzeiten in Kauf nehmen?
Zu Beginn müssen Sie Leistungsmetriken auf dem aktuellen System erfassen. Anzahl der aktiven Benutzer, RAM- und CPU-Auslastung, Disc-E / A - Finden Sie heraus, wo Ihre Engpässe liegen.
Mögliche Lösungen basierend auf Problemen: Beginnen Sie mit der Optimierung der aktuellen Ressourcen. Wenn Ihre Anwendung datenbankgesteuert ist, optimieren Sie die Datenbank mit Abfrage- und Thread-Caches, Indizes usw. Wenn Sie einen Server für andere Anwendungen freigeben, sollten Sie den Wechsel zu einem dedizierten Server untersuchen. (Suchen Sie in der Virtualisierung nach weniger aktiven / kritischen Anwendungen, um dedizierte Ressourcen freizugeben.)
Aktuelle Maschinen sind voll ausgelastet, RAM und CPU stark ausgelastet, hohe Disc-E / A - Kosten für das Hinzufügen von RAM berechnen. Können Sie zu einer schnelleren Disc-E / A wechseln (RAID, SATA anstelle von ATA)?
Wenn Sie eine hohe Verfügbarkeit benötigen, müssen Sie wahrscheinlich trotzdem Hardware und Lastausgleich hinzufügen.
Ist es billiger, Hardware-Upgrades oder neue Server hinzuzufügen? Was passt zu den langfristigen Zielen und dem Wachstum?
Wann ist die beste Zeit für Ihre IT-Abteilung, um Geld auszugeben? Haben Sie jetzt Mittel oder möchten Sie die Ausgaben auf ein anderes Quartal / Jahr verschieben? Wenn es um Geld geht, optimieren Sie jetzt oder prüfen Sie, ob Sie Hardware von anderen Anwendungen freigeben können, um eine Lösung für den temporären Lastausgleich hinzuzufügen.
Haben Sie keine Angst, zahlreiche Lösungen zu erkunden. Anbieter möchten möglicherweise, dass Sie eine SAN-speicherorientierte Lösung mit Lastenausgleich kaufen, bei der ein neuer Server mit integriertem iSCSI RAID 10 für 10 Prozent der Kosten funktioniert.
Wenn Ihre CPU nach der Optimierung immer noch stark ausgelastet ist, müssen Sie Hardware hinzufügen / ersetzen. Wenn Ihre Disc-E / A der Engpass ist und Sie die Speichertechnologie nicht aktualisieren können, müssen Sie die Hardware ersetzen oder Netzwerkspeicher- / angeschlossene Speicherlösungen hinzufügen.
Leistungsmetriken erfassen. Optimieren, verbessern und erfassen Sie Metriken erneut. Dokumentieren Sie weiterhin Leistungssteigerungen / -abnahmen, damit Sie einen Bericht einreichen können, der dokumentiert, wie viel Sie ausgegeben haben und wie viel Leistungsgewinn sich daraus ergibt. Dies sind die möglichen Erfolgsgeschichten, die Administratoren zu Architekten, Architekten zu Projektmanagern und PMs zu oberen Führungskräften machen, wenn sie richtig gemacht werden.
quelle
Pagingst du Verwenden Sie den RAM zum Zwischenspeichern der Festplatte? Sind Sie CPU mit freiem RAM gebunden?
Wenn Sie Paging betreiben und / oder den RAM zum Zwischenspeichern verwenden können, erhalten Sie mehr RAM. Wenn Sie nicht auf RAM-Druck stoßen, ist es etwas anderes.
quelle
RAM ist billig. Sie sollten dies immer zuerst bis zu dem Punkt tun, an dem Sie die wirtschaftlichste Menge haben (z. B. 4-GB-DIMMs sind unerschwinglich teuer, damit ich mich nicht darum kümmern würde).
Untersuchen Sie dann die Skalierung seitwärts (mehr Server). Betrachten Sie billige Consumer-Hardware im Vergleich zu teuren Serverteilen, erwarten Sie jedoch Fehler und bauen Sie Failover-Schätzungen in Ihre gesamte Verarbeitungskapazität ein.
Grundsätzlich machen Sie ein Google .
quelle
Welches Betriebssystem Sie verwenden, wie viel RAM es unterstützt und wie viel RAM Sie haben, sind ebenfalls Fragen. Wenn Sie sich an der Grenze eines 32-Bit-Betriebssystems befinden, hilft es Ihnen nicht, mehr RAM zu kaufen. Wenn Sie Windows verwenden, sind bestimmte SKUs auf bestimmte RAM-Mengen beschränkt, die nicht genau mit dem 32-Bit-Limit zusammenhängen.
quelle
Einige Leute scheinen zu denken, dass das Hinzufügen von RAM eine magische Lösung ist. Es hilft nur, wenn RAM der Engpass ist.
quelle
Mehr RAM = mehr virtuelle Maschinen.
Also ich nehme an mehr RAM = mehr Server !!
quelle