簡體   English   中英

System.Web.Caching.Cache 由於內存不足而過期?

[英]System.Web.Caching.Cache expires due to low memory?

我一直在解決一個問題,我很確定該問題與 IIS 服務器上的緩存有關。 從我們的 IIS 工作緩存中隨機刪除的項目數據。 被刪除的項具有由使用用戶的唯一ID,以確保高速緩存關鍵是唯一的鍵值。

它運行在.NET 4.7.2我們的應用程序使用大量的緩存插件的通過方法插入(字符串,對象,的CacheDependency)從的System.Web.Caching.Cache

根據 Microsoft 文檔,除非應用程序池重新啟動或內存不足,否則此方法簽名會在沒有過期時間的情況下插入緩存。

我查看了操作系統事件查看器日志,但沒有看到任何表明我的應用程序池已達到專用字節內存限制的事件 ID

我們計划在工作日每天凌晨 4 點回收我們的應用程序池; 你從下面的圖形內存看到它,但大多數的白天時間發生我們從緩存中丟失物品的問題的時間。

在此處輸入圖片說明

我的下一個步驟來解決被添加更多的內存的服務器上,我不知道如果IIS W3WP.EXE遭受飢餓的內存,即使我們仍然在服務器上有一些空閑的內存?

您是否可以看到可能會影響我們的緩存項壽命的任何事情?

首先檢查 logeventonrecyle 設置以查看正在記錄應用程序池的回收。 請參閱: https : //docs.microsoft.com/en-us/iis/configuration/system.applicationhost/applicationpools/add/recycling/

可能是機器上的其他進程正在使用內存,並且由於“或者它遭受內存不足”而丟失項目

要對此進行測試,您可以進行負載測試,同時啟動服務器上耗盡內存的其他進程

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM