Wir haben viele Systeme, die dieselbe Konfiguration haben
- Ein Server (virtuell oder physisch)
- Ausführen von SQL Server (SQL) und SQL Server Analysis Server (AS)
- mehrere Kerne
- 16 GB RAM
Jede Nacht führt der SQL Server eine Verarbeitung von ca. 2-3 Stunden durch, gefolgt von 2-3 Stunden AS-Verarbeitung. Dann werden im Laufe des Tages nur die AS abgefragt.
Angenommen, dies ist ein dedizierter Server, und keine anderen Apps sind von Belang, und die beiden Verarbeitungssätze sind vollständig synchron - keine Überlappungen immer nacheinander - wie kann ich die Speicherbeschränkungen für SQL- und AS-Server am besten festlegen?
Der Grund für die Frage ist, dass, wenn ich kein Limit für SQL festlege, der gesamte Speicher belegt wird, den es kann. Mein Verständnis ist jedoch, dass SQL diesen Speicher gerne freigibt, wenn:
Es benutzt es nicht und
Ein anderer Dienst / Programm fordert es an.
Aus logischer Sicht glaube ich, dass SQL so viel nehmen kann, wie es braucht, aber ich bin mir bei AS nicht so sicher TotalMemoryLimit
. Ich bin nicht sicher, ob AS sein Gedächtnis aufgeben wird. Wenn ich mehr lese, glaube ich, dass es falsch ist, alles nehmen zu lassen.
Bedeutet dies, dass ich tatsächlich Grenzen für beide setzen muss? Ich bin verwirrt darüber, was die besten Praktiken sein sollten und was wir messen müssen, wenn man bedenkt, dass sich die Prozesse nicht überschneiden.
Hoffe das macht Sinn.
quelle
Müssen SQL und SSAS jemals gleichzeitig ausgeführt werden? Wenn nein, sind Sie 100% sicher?
Ich würde versuchen, die Speichereinstellung für SQL und SSAS festzulegen, um zu sehen, ob sie miteinander kooperieren können.
Wir müssen etwas Speicher für das Betriebssystem, andere Prozesse und mehrseitige Zuordnungen belassen. Vielleicht 4G?
Versuchen Sie so etwas ...
Stellen Sie auf der SQL-Seite den maximalen Serverspeicher auf 12 GB und den minimalen Serverspeicher auf 6 GB ein.
Setzen Sie auf der SSAS-Seite TotalMemoryLimit auf 12G und LowMemoryLimit auf 6G.
Aktivieren Sie außerdem "Seiten im Speicher sperren" nicht.
Versuchen Sie einige Iterationen und passen Sie diese Zahlen nach oben oder unten an.
Wenn dies einfach nicht funktioniert und Sie sicher wissen, dass SQL und SSAS nicht gleichzeitig ausgeführt werden müssen, würde ich Aarons Vorschlag versuchen, Jobs so zu planen, dass Dienste ein- und ausgeschaltet werden.
quelle