Ich habe eine Produktionsbox mit 5 Instanzen.
Version: SQL Server 2014 SP3 Enterprise.
Ich habe festgestellt, dass die kombinierten MAX MEMORY- Einstellungen auf allen 5 Instanzen weniger als 200 GB betragen, obwohl dem Computer ~ 400 GB Speicher zugewiesen sind .
Die Instanzen leiden nicht unter Speicherdruck, aber da wir diesen Speicher bereits zugewiesen haben, ist es eine Verschwendung, ihn nicht zu verwenden.
Ich möchte es auf einen höheren Wert erhöhen und 10% für das Betriebssystem belassen (einige Instanzen werden höher zugewiesen als andere).
Ich habe diese Einstellung jedoch noch nie so stark erhöht.
Ich weiß, dass es sich um dynamische Einstellungen handelt, für die kein Neustart erforderlich ist. Ich frage mich jedoch Folgendes:
- Sollte ich die Erhöhung in 2 Phasen vornehmen (dh die Hälfte erhöhen, eine Woche warten und dann erneut erhöhen)?
- Kann etwas plötzlich kaputt gehen (oder die Leistung beeinträchtigen), wenn der SQL Server plötzlich so viel mehr Speicher zum Spielen hat?
Wir haben keine gesperrten Seiten in der Speichereinstellung aktiviert und wir haben kein Traceflag 834 aktiviert .
quelle
Antworten:
Ich habe eine etwas andere Meinung.
Wenn Sie keinen Speicherdruck haben und Ihre Anwendung einwandfrei funktioniert, warum sollten Sie eine unbekannte Variable einführen (in Ihrem Fall - Erhöhung des maximalen Speichers des SQL-Servers)? Sie haben diese Änderung nicht getestet, daher besteht ein Risiko.
Wenn Ihr Server über mehr Bandbreite verfügt, können Sie weitere Instanzen auf Ihrem Server konsolidieren.
Ja, und ich hatte ein Problem mit der Leistungsverschlechterung, da PROD mehr Speicher hatte und TF 2335 verwendete, um das Problem zu beheben .
Sie können die Antwort von Paulus für weitere Details lesen, aber das Wesentliche ist:
quelle
Sie können den maximalen Server-Speicher von SQL Server jederzeit ändern. Wenn Sie dies jedoch tun, werden der SQL Server-Plan, die Daten und andere Caches geleert. Dies bedeutet, dass neue Abfragen, die auf den SQL Server gelangen, erneut durch den Prozess der Erstellung des Abfrageplans geleitet werden, was möglicherweise einige Zeit entscheidend sein wird. Wenn Sie dies wirklich tun möchten, informieren Sie die Stakeholder darüber, dass Sie den maximalen Serverspeicher ändern möchten, und tun Sie dies, wenn die Auslastung relativ gering ist. Bitte informieren Sie die Benutzer auch darüber, dass die Ausführung einiger Abfragen aufgrund des kalten Caches beim ersten Durchlauf möglicherweise länger dauert.
Tun Sie es einfach, wenn Sie die Genehmigung erhalten und wenn die Last relativ gering ist, müssen Sie dies nicht in Phasen tun.
Die Dinge werden nicht kaputt gehen, aber ja, da der Cache geleert ist, brauchen einige Abfragen möglicherweise mehr Zeit, um beim ersten Durchlauf ausgeführt zu werden.
Ich schlage vor, dass Sie dies speziell tun, wenn 5 Instanzen ausgeführt werden. Eine Instanz sollte aufgrund einer Rouge-Abfrage / eines Rouge-Prozesses nicht den gesamten Speicher belegen dürfen. Es ist besser, die maximale Grenze für alle SQL Server-Instanzen festzulegen. Beachten Sie auch, dass SQL Server in einigen Fällen mehr als das maximale Limit verbrauchen kann. Das Hinzufügen von LPIM erfordert "SQL Server-Neustart"
Ideale Situation: Wenn Sie planen, LPIM hinzuzufügen, und an diesem Punkt den maximalen Serverspeicher ändern, haben Sie Zeit, da Sie keine Probleme haben.
quelle
sp_configure
die Caches geleert werden , wenn Sie die Option verwenden.