Frage

Ich habe mehrere große Tabellen, die ich in einer Transaktionsdatenbank in partitionierte Kopien kopieren muss.

Ich mache mir Sorgen um den Treffer, dass dies zur Durchführung meiner Produktionsanwendungen führen wird.

In einem Versuch, dies zu mildern, untersuchte ich den Ressourcengouverneur.Ich werde mein Skript einstellen, um einen Ressourcenpool zu verwenden, der auf maximal 5% CPU und Speicher begrenzt ist.

Der einzige Teil darüber, dass ich nicht sicher bin, ist der Effekt auf PLE.

Wie ich es verstehe, las die Auswahl aus der Tabelle den Wert in den Cache.Dies wird etwas anderes erzwingen, das sich im Cache befand.(Das grundlegende Konzept von PLE.), Aber werden die Elemente "Zwang heraus" auf die 5% beschränkt sein, die ich angegeben habe?

Bedeutung Nachdem ich die 5% des Gedächtnisses verwendet habe, wird es nur zwischengespeicherte Gegenstände in den gleichen 5% erzwingen? (Verlassen der anderen 95% unberührt.)

Eine andere Art, dies zu fragen, ist: Ist die Speichergrenze von 5% identisch mit einem Cache-Limit von 5%?

War es hilfreich?

Lösung

Diese MSDN-Seite gibt an, dass die Speichereinstellungen nur das Abfragenspeicher beeinflussen:

Ressourcenroomenressourcenpool

min_memory_percent und max_memory_percent

Diese Einstellungen sind die minimale und maximale Menge an Speicher, die für den Ressourcenpool reserviert ist, der nicht mit anderen Ressourcenpools geteilt werden kann. Der hier resultierende Speicher ist der Abfrageausführung Erteilspeicher, keinen Pufferpoolspeicher (z. B. Daten- und Indexseiten). Einstellen eines minimalen Speicherwerts für ein Pool bedeutet, dass Sie sicherstellen, dass der Prozentsatz des angegebenen Speicherplatzes für alle Anforderungen verfügbar ist, die in diesem Ressourcenpool ausgeführt werden können. Dies ist ein wichtiger Differenzor im Vergleich zu min_cpu_percent, da in diesem Fall in diesem Fall im angegebenen Ressourcenpool in dem angegebenen Ressourcenpool bleiben kann, selbst wenn der Pool keine Anforderungen in den Arbeitsbelastungsgruppen in diesem Pool hat. Daher ist es von entscheidender Bedeutung, dass Sie bei der Verwendung dieser Einstellung sehr vorsichtig sein, da dieser Speicher für einen anderen Pool nicht verfügbar ist, selbst wenn keine aktiven Anforderungen vorhanden sind. Einstellen eines maximalen Speicherwerts für einen Pool bedeutet, dass, wenn Anforderungen in diesem Pool laufen, niemals mehr als diesen Prozentsatz der Erinnerung erhalten.

Das oben genannte zeigt an, dass Pufferpool von Ressourcenpoolbegrenzungen ausgeschlossen ist. Wenn Sie also einige Aktionen ausführen möchten, die dazu führen, dass der gesamte Pufferbecken entleert werden kann, um Ihren Prozess auszuführen, möchten Sie möglicherweise sicherstellen, dass der Prozess während der außerhalb der Öffnungszeiten ausgeführt wird.

Das Folgende ist ein Auszug aus dem MSDN-Blog, SQL Server-Seite Lebensdauer Erwartung :

Seitenlebenserwartung (PLE) ist der beste Hinweis darauf, wie volatil Ihr Pufferpool ist (BP). Es ist ein Perfmon-Zähler, der im SQL Server gefunden wurde: Puffer-Manager-Perfmon-Objekt. Es gibt auch den Pufferknotenpunkt: Seitenlebenserwartungszähler, der für NUMA-Systeme in Betracht gezogen werden sollte, wobei dieselbe Logik pro Knoten verwendet wird, wenn man auf einem nicht-Numa-System wäre.

Volatilität wird gemessen, indem das durchschnittliche "Lebensdauer" einer Seite innerhalb des Pufferbeckens (in Sekunden) teilgenommen wird. Wenn eine Seite überschrieben oder ausgereift ist, beginnt er ein ganz neues Leben.

Wenn also viele Seiten sehr oft mit neuen Daten überschrieben werden, wird der durchschnittliche PLE niedrig sein, und unsere BP-Volatilität ist hoch.

Wenn Sie umgekehrt sind, wenn die meisten Seiten in unserem BP lange Zeit dort bleiben, ohne überschrieben zu werden, ist der durchschnittliche PLE hoch, und die BP-Volatilität ist niedrig.

Warum kümmern wir uns um BP-Volatilität und Ple? Was kann die BP-Volatilität für uns wissen? Was ist eine "gute" und "schlechte" Ple-Figur?

ple kann ein Maß dafür sein, wie viel physischer IO Ihr SQL-Server tut. Hoffentlich habe ich Ihre Aufmerksamkeit, denn physischer IO ist sowohl für das Lesen als auch für das Schreiben.

von Fragen in den Kommentaren hier:

was ist "Abfragespeicher" und wie unterscheidet sich das von dem Cache?

Query-Speicher wird zur Ausführung von Abfragen verwendet. Es ist vorübergehend für Sortierungen verwendet, Bitmap erstellt, Hash-Tabellen usw. Cache enthält In-Memory-Tabellendaten.

es klingt nach der Antwort auf meine Frage, dass die PLE nicht von dem Ressourcengouverneur geschützt wird. Tut das richtig?

richtig. Seitenlebenserwartung geht es darum, wie lange Datenseiten in Erinnerung bleiben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit dba.stackexchange
scroll top