Freitag, Juni 03, 2011

Serverparametrisierung MSMDSRV.ini

Bei Durchsicht des Analysis Services Operations Guide (Abschnitt 2.3.2, S. 14 f.) ist mir klar geworden, dass mir die Memory-Parameter in msmdsrv.ini regelmäßig entfallen. Daher an dieser Stelle ein paar kurze Definitionen:
  • LowMemoryLimit: der Arbeitsspeicher (in % oder Byte), den der SSAS nicht wieder freigibt, nachdem er ihn einmal bekommen hat. Dieser Speicher wird per default nicht beim Systemstart allokiert.
    • Counter:MSOLAP:Memory\LowMemoryLimit
    • PreAllocate: sorgt dafür, dass schon beim Systemstart Speicher für den SSAS allokiert wird (was dann interessant sein kann, wenn der SSAS sich einen Server mit anderen Applikationen teilen muss). Für Windows Server 2008 ist diese Einstellung nicht mehr besonders relevant.
  • TotalMemoryLimit: der Schwellwert (Arbeitsspeicher in % oder Byte), ab dessen Überschreitung der SSAS damit beginnt, Speicher wieder freizugeben. Die Angabe ist keine Obergrenze für den Speicherverbrauch des Prozesses.
    • Counter: MSOLAP:Memory\TotalMemoryLimit
  • HardMemoryLimit (verfügbar ab SSAS 2008): eine aggressivere Variante zu TotalMemoryLimit, die Sessions beendet, wenn der Schwellwert überschritten wird.
  • LimitSystemFileCacheMB: beschränkt die Größe des OS-Caches, damit dieser nicht mit dem SSAS-Prozess kollidiert.
  • OLAP\Process\AggregationMemoryLimitMin (bzw. %Max): bestimmt die Größe des zum Aufbau von Indizes und Aggregationen verwendeten Arbeitsspeichers. Der Min-Wert gilt pro Partition: "if you start five concurrent partition processing jobs with AggregationMemoryMin = 10, an estimated 50 percent (5 x 10%) of reserved memory is allocated for processing". Deshalb kann es in großen Systemen, die über sehr viel Arbeitsspeicher verfügen, sinnvoll sein, den Min-Wert zu reduzieren (weniger % oder sogar eine fixe Byte-Angabe), um eine höhere Parallelisierung zu ermöglichen.
Möglicherweise werde ich diese Liste gelegentlich erweitern.

Keine Kommentare:

Kommentar veröffentlichen