簡體   English   中英

ASP.NET服務器緩存

[英]ASP.NET server caching

我有一個在Windows Server 2008 R2上運行的Web應用程序。 第一次加載時,其中一個頁面處理時間太長。 大約需要15秒,此后幾乎是瞬間。 發生的是,這次w3wp.exe進程從不足200 MB的RAM跳到了700 MB的RAM。 很好,頁面很大,需要一定數量的內存。 在那15秒之后,它會切換回大約200 MB的RAM,如果有人訪問該頁面,它將幾乎立即呈現。 無論是誰請求,它都是第一次渲染。 現在,經過一段時間(如果不是幾十分鍾,則是幾分鍾,幾分鍾),當有人再次請求該頁面時,它執行相同的操作-處理15秒,然后跳轉到700 MB RAM。

我想以某種方式保留700 MB的緩存,這樣它就不會過期。 即使回落到200 MB RAM之后,頁面也會立即加載,但是我的猜測是這就是為什么在較長時間后頁面“過期”並必須再次渲染的原因。 我已經讀過有關@outputcache的信息,但是我不確定這是我所需要的。 並且有很多類型的緩存 有人可以指出我正確的方向嗎? 我不擔心內存消耗或其他任何事情,我只是不希望用戶等待15秒來加載它,即使這種情況很少發生也是如此。 謝謝!

PS:在ASP.NET 4.0下用C#編寫的應用程序

在應用程序池啟動后,第一次調用頁面時便對其進行了編譯( http://msdn.microsoft.com/zh-cn/library/ms366723(v=vs.100).aspx )。

中間應用程序池關閉之前的默認超時為20分鍾: http ://technet.microsoft.com/zh-cn/library/cc771956(v=ws.10) .aspx

如果在應用程序池關閉后發出了新請求,則需要重新啟動應用程序池,並且必須再次編譯您的頁面。

除了改善應用程序中的緩存之外,您還可以做兩件事:

暫無
暫無

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

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