2010-08-09 47 views
0

我對SSAS和SQL Server相當陌生,但Google沒有幫助。我很感謝指向正確文檔的指針。如何防止SSAS從RAM卸載,如何加速第一個請求

我已經設置了一個多維數據集,並使用數據透視表從Excel中查詢它。

我運行的第一個更新/請求需要大約10秒才能運行,但是下面的請求在少於一秒內完成。

當我等了一會兒沒有查詢(10分鐘左右)第一次更新需要10秒鐘。

如何防止此行爲並加速第一次更新?

我想象一下,SQL Server在一段時間後從RAM卸載多維數據集。有沒有辦法將多維數據集標記爲「保存在RAM中」。

感謝,

Cilvic

回答

1

最可能的原因,它會從緩存中刪除是SQL Server內存壓力。服務器有多少內存?

如果添加更多的內存是不是一種選擇,你也許可以安排定期(每小時說)緩存熱身:How to warm up the Analysis Services data cache using Create Cache statement?

例如,ascmd.exe可以用來 每隔一小時執行在 目錄中的所有查詢保持高速緩存準備好用於後續用戶查詢 。其他 的方法,已被使用,是爲 爲每個用戶創建一個緩存查詢 查詢。如果MDX 查詢是報表的一部分,則這是可行的,然後一個 只是添加另一個查詢,該查詢具有填充緩存的副作用 ,從而加快了下一個查詢的速度。

另外:Build Your Own Analysis Services Cache-Warmer in Integration Services

有幾個SSAS performance counters可以監視:

  • MSAS 2008:內存清理當前 價格的內存, $ /字節/次,標準化爲當前價格1000.

  • MSAS 2008:Memory Cleaner Balance/sec 平衡+收縮操作率。

  • MSAS 2008:內存清除內存 縮水KB /秒的速率收縮,在 KB /秒。

  • MSAS 2008:內存清除內存的內存 熱收縮KB金額,在 KB,須經 背景清潔器清洗。

  • MSAS 2008:內存清除內存的內存 非收縮KB金額,在 KB,不受由 背景清潔器清洗。

  • MSAS 2008:內存清理內存KB 內存量,以KB爲單位, 已知的後臺清理程序。 (清潔內存 熱收縮+清潔內存 非收縮。)

+0

感謝高速緩存鏈接!我有12 GB的內存,只用了30%。我會看看是否可以用那麼多的空閒內存來重現行爲。在我注意到它的時候可能是我以前一直處於內存的狀態。 謝謝。 – Cilvic 2010-08-09 08:31:33

+0

@Cilvic:由於SQL Server管理內存的方式,只查看任務管理器中的內存使用情況並不會真正告訴你什麼 – 2010-08-09 08:32:34