設定 Reporting Services 可用的記憶體
更新: 2006 年 4 月 14 日
在 Reporting Services 中,報表伺服器會實作為 Windows 服務和 Web 服務,每一個服務都有組態設定可決定記憶體臨界值及回收工作處理序或應用程式網域的頻率。
每一個服務都會處理不同種類的作業;報表伺服器 Web 服務會處理視需要的報表要求,包括建立報表快照集或報表記錄的要求;報表伺服器 Windows 服務則會處理所有已排程的報表要求,包括將訂閱傳遞給共用資料夾或電子郵件地址。
報表伺服器 Web 服務的記憶體設定
報表伺服器 Web 服務所設定的記憶體是透過 ASP.NET 組態設定來指定,也就是根據 Machine.config 檔中 processModel 區段內的 memoryLimit 設定。memoryLimit 會指定所允許的記憶體大小上限,也就是工作處理序在 Internet Information Services (IIS) 啟動新處理序及重新指派現有要求之前可以耗用之系統記憶體總量的百分比;預設值是百分之 60。
IIS 每隔十二個小時會回收工作處理序,您可以在用於報表伺服器的應用程式集區上設定回收屬性,以指定不同的排程。
報表伺服器 Windows 服務的記憶體設定
Windows 服務的記憶體設定會指定於 RSReportServer.config 檔中;您可以使用各種不同設定,好讓您可以指定記憶體限制及回收應用程式網域的時間。
設定報表伺服器 Windows 服務可用的記憶體
您可以設定記憶體限制,以避免報表伺服器處理序造成伺服器停機,或是耗用太多的記憶體。這些限制是透過 RSReportServer.config 檔案中所定義的 MemoryLimit 與 MaximumMemoryLimit 設定指定。
- MemoryLimit 會指定一個記憶體臨界值,超過此臨界值之後,就不再接受新的處理要求。此值會以可用記憶體的百分比表示。有效值範圍是從 0 到最大整數。預設值是 60。
- MaximumMemoryLimit 會指定當報表伺服器記憶體耗用量達到某個可用記憶體的百分比時,就要回收應用程式網域。此值是回收時,可以使用之可用記憶體的百分比。預設值是 80。此值應大於為 MemoryLimit 所設定的值。
達到 MemoryLimit 的值後,報表伺服器應用程式網域就不再接受新的要求。目前正在進行中的要求可以繼續進行。唯有記憶體使用量降到 MemoryLimit 所指定的值以下時,才會接受新要求。
如果現有的要求在達到 MemoryLimit 值之後仍繼續耗用其他記憶體,則報表伺服器會允許處理繼續,直到記憶體使用量達到 MaximumMemoryLimit 所指定的值為止。然後,所有的處理都會停止,而且應用程式網域執行個體會重新啟動。
設定記憶體臨界值
MemoryLimit 與 MaximumMemoryLimit 都以可用記憶體的百分比指定。報表伺服器會監視實體記憶體的使用。如果您要使用虛擬記憶體,則可以指定高於 100% 的值,以利用其他的記憶體資源。
排程報表伺服器 Windows 服務的回收作業
您可以排程報表伺服器 Windows 服務的應用程式網域回收頻率,報表伺服器 Windows 服務的回收排程會符合在 ASP.NET 應用程式網域回收中所經常遵循的 12 小時制模式。在排程的時間,所有新要求都會轉送至應用程式網域的新執行個體。目前正在原始執行個體進行中的要求可以繼續執行到完成。等到所有處理序都完成後,會刪除原始執行個體,而新執行個體將成為唯一使用中的應用程式網域執行個體。
若要對報表伺服器 Windows 服務指定不同的回收排程,請在 RSReportServer.config 檔中設定 RecycleTime 組態設定。
設定報表伺服器 Windows 服務的卸載時間
報表伺服器會配置 30 分鐘的等候時間,在這段時間內,允許在回收作業過程中關閉報表伺服器 Windows 服務應用程式網域。如果目前進行中的要求無法在指定的時間內完成 (或者處理序所花的時間比等候時間所允許的還要久),就會重新啟動應用程式網域執行個體。所有未完成的處理序都會結束。
若要變更等候時間,請設定 RSReportServer.config 檔案中的 MaxAppDomainUnloadTime 組態設定。
請參閱
概念
RSReportServer 組態檔
管理報表伺服器 Web 服務與 Windows 服務
其他資源
說明及資訊
變更歷程記錄
版本 | 歷程記錄 |
---|---|
2006 年 4 月 14 日 |
|