我在SSAS服務器上有多個多維數據集,並且有幾個10GB +的多維數據集。其中一個.NET應用程序正在通過OPENQUERY訪問相對較小的立方體< 1GB立方體。OPENQUERY多維數據集查詢在多維數據集處理過程中非常緩慢
當某個大型多維數據集處理(36GB +).NET應用程序超時時,由於存在默認超時(30s),我可能會增加超時時間,但這意味着用戶需要等待1到5分鐘去完成。如果我直接運行相同的MDX查詢(SSMS或ADOMD),則在相同的情況下,我得到的結果爲<。
MSOLAP提供程序具有允許InProcess = true。更改應用程序以使用ADOMD不是可行的選擇,因爲它需要太多的資源。
我試圖使用資源調控器和單獨處理應用程序查詢和其他請求 - 它緩解了部分問題,現在不是每個查詢超時 - 只是大多數。
還有什麼我可以做的,以幫助SQL Server和SSAS相處嗎?
PS。在查看服務器上發生的情況時,我注意到很多ODBC(以及相關的)都在SQL Server上等待。對我來說,看起來像多維數據集正在處理和訪問來自SQL Server的數據時,它會通過OLEDB/ODBC提供程序「阻止」OPENQUERY對多維數據集的請求。我得出這個結論是因爲即使我確信資源調控器有足夠的空閒CPU和內存來處理.NET應用程序請求,它仍然會發生,服務器似乎不太忙(減少CPU /內存使用量)
編輯:
每個.NET應用程序調用運行很少的MDX查詢運行到SSAS - 每個查詢不會返回超過100行。所有這些都在臨時表中合併爲最終結果。現在,我知道開始和優化代碼是合乎邏輯的,但代碼是我們想要改變的最後一件事。它已經過很好的測試,並且表現不錯。
我在尋找配置和基礎設施的想法。
究竟你是開放的查詢做,你正在創建服務器臨時數據那是consern。 –