Mehr RAM vs. mehr Server

Mehr RAM vs. mehr Server

Kürzlich wurde ich gefragt: „Wissen Sie, wann Sie sich zwischen mehr RAM oder mehr Servern entscheiden müssen?“ (im Zusammenhang mit der Skalierung von Data-Mining-Anwendungen).

Ich hatte keine Ahnung, wie kann ich mich also entscheiden? Ich habe sehr wenig Wissen über Architektur und Skalierung (mein Verständnis von Computerspeicher und der Funktionsweise eines Servers beschränkt sich auf die grundlegenden Dinge), daher sind auch Tipps, wie ich mehr über diese Dinge im Allgemeinen lernen kann, sehr willkommen.

Antwort1

„Wissen Sie, wann Sie sich zwischen mehr RAM oder mehr Servern entscheiden müssen?“ (im Zusammenhang mit der Skalierung von Data-Mining-Anwendungen).

Die Antwort lautet: Sobald Sie mir die Kennzahlen für den betreffenden Server geben, sage ich Ihnen, welche (oder ob es sich überhaupt lohnt, welche hinzuzufügen). Diese Art der Optimierung ist kein Voodoo (es sei denn, Sie verwenden Anwendungen ohne Instrumentierung und Serverbetriebssysteme ohne Instrumentierung – dann ist es Voodoo), sondern Wissenschaft. Messen Sie die Anwendung und den Server. Kurz gesagt: Finden Sie mithilfe der Überwachungskennzahlen heraus, wo der Leistungsengpass liegt, und fügen Sie weitere hinzu.

Antwort2

Zur Verbesserung der Server-/Anwendungsleistung gehört im Allgemeinen eine Menge Voodoo (oder zumindest Versuch und Irrtum).

Die allgemeine Regel für die gestellte Frage ist, zunächst den Speicher zu erhöhen, bis er nicht mehr erhöht werden kann.ODERbis mehr Speicher die Leistung nicht mehr verbessert. Da Speicher relativ günstig ist, ist es möglicherweise einfacher, den Speicher einfach zu maximieren. Wenn die Anwendung viel Festplattenspeicher benötigt, kann auch ein Upgrade auf Hochgeschwindigkeitslaufwerke oder Hochleistungscontroller einen Unterschied machen.

Die sehr allgemeine Natur der Frage lässt mich jedoch annehmen, dass es keine anderen Versuche zur Leistungssteigerung gegeben hat. Ich stimme zu, dass Hardware billig ist, sodass selbst der Einsatz mehrerer Server ein Problem leicht lösen kann. Aber ich würde auch sicherstellen, dass andere Maßnahmen, insbesondere die Optimierung des Betriebssystems und der Datenbank, ergriffen wurden. Manchmal können kleine Optimierungen an der Datenbank, dem Betriebssystem oder sogar der Anwendungskonfiguration zu enormen Leistungsverbesserungen führen.

Suchen Sie auf dieser Site mit Ihrem spezifischen Betriebssystem, Ihrer Datenbank und Anwendung und Sie werden möglicherweise fündig.

Antwort3

Als Unternehmensarchitekt beschäftige ich mich fast täglich mit diesem Thema. Vertikale oder horizontale Skalierung?

Was sind Ihre Bedürfnisse?

Müssen Sie mehr Benutzer unterstützen? Müssen Sie die Geschwindigkeit des Dienstes verbessern? Brauchen Sie beides? Benötigen Sie eine hohe Verfügbarkeit von 99,9999 oder können Ihre Benutzer Ausfallzeiten verkraften?

Zu Beginn müssen Sie Leistungsmesswerte des aktuellen Systems erfassen. Anzahl aktiver Benutzer, RAM- und CPU-Auslastung, Festplatten-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 mit anderen Anwendungen teilen, prüfen Sie den Wechsel zu einem dedizierten Server. (Prüfen Sie die Virtualisierung für weniger aktive/kritische Anwendungen, um dedizierte Ressourcen freizugeben).

aktuelle Maschinen sind voll ausgelastet, RAM und CPU sind stark ausgelastet, hohe Disk-E/A - berechnen Sie die Kosten für zusätzliches RAM. Können Sie auf eine schnellere Disk-E/A (RAID, SATA statt ATA) umsteigen?

Wenn Sie eine hohe Verfügbarkeit benötigen, müssen Sie wahrscheinlich ohnehin Hardware und Lastausgleich hinzufügen.

Ist es günstiger, Hardware-Upgrades durchzuführen oder neue Server hinzuzufügen? Was passt zu den langfristigen Zielen und dem Wachstum?

Wann ist der beste Zeitpunkt für Ihre IT-Abteilung, Geld auszugeben? Haben Sie jetzt Geld oder möchten Sie die Ausgaben auf ein anderes Quartal/Jahr verschieben? Wenn Geld ein Problem darstellt, optimieren Sie jetzt oder prüfen Sie, wie Sie Hardware von anderen Anwendungen freigeben können, um eine temporäre Lastausgleichslösung hinzuzufügen.

Scheuen Sie sich nicht, mehrere Lösungen auszuprobieren. Anbieter möchten vielleicht, dass Sie eine lastausgeglichene, SAN-Speicherlösung 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/austauschen. Wenn Ihr Festplatten-E/A der Engpass ist und Sie die Speichertechnologie nicht aktualisieren können, müssen Sie Hardware austauschen oder Netzwerkspeicher/angeschlossene Speicherlösungen hinzufügen.

Erfassen Sie Leistungsmesswerte. Optimieren, verbessern und erfassen Sie erneut Messdaten. Dokumentieren Sie Leistungssteigerungen/-abnahmen, damit Sie einen Bericht einreichen können, der dokumentiert, wie viel Sie ausgegeben haben und wie viel Leistungssteigerung sich daraus ergeben hat. Dies sind die Art von möglichen Erfolgsgeschichten, die Administratoren zu Architekten, Architekten zu Projektmanagern und PMs zu Führungskräften machen, wenn sie richtig gemacht werden.

Antwort4

RAM ist billig. Sie sollten immer zuerst aufstocken, bis Sie die wirtschaftlichste Menge haben (z. B. sind 4-GB-DIMMs unerschwinglich teuer, also würde ich mir die lieber sparen).

Dann untersuchen Sie die Skalierung seitwärts (mehr Server). Erwägen Sie billige Verbraucherhardware im Vergleich zu teuren Serverteilen, aber rechnen Sie mit Ausfällen und berücksichtigen Sie Failover-Schätzungen in Ihrer gesamten Verarbeitungskapazität.

Grundsätzlich,mach mal Google.

verwandte Informationen