2010-06-02 90 views
3

我讀過很多關於如何做ASP.Net緩存的資料,但很少介紹頁面應該被緩存的最佳持續時間。大型網站的最佳ASP.Net緩存持續時間?

假設我有一個擁有50,​​000頁的熱門網站。內容不會經常更改,所以如果需要,我可以將頁面緩存長達一個小時。服務器有16 GB的RAM,但數據庫連接受到限制。

頁面應緩存多長時間?我的想法是,如果我將緩存持續時間設置得太高(比如說60分鐘),我會用內容的一小部分來填充內存,這些內容會不斷地在內存中和內存之外進行混洗。

此外,假設有10%的網頁負責90%的流量。如果流行的頁面每秒都被擊中,並且每小時都會觸發不受歡迎的頁面,那麼60秒的緩存只會保持緩存負載密集的內容而不會犧牲新鮮度。

應該緩存許多但很少訪問的內容嗎?

回答

0

一種選擇是利用某種磁盤緩存,而不是內存緩存,至少對於不常訪問的頁面。但總的來說,緩存的重點在於支持很可能在短時間內再次提出的請求。所以我肯定會優先選擇經常請求的頁面。

2

我不認爲你會找到公佈的公式或嚴格的指導方針來優化你的緩存。每種情況都會有根本的不同,甚至根據您在此討論的變量數量,也無法量化。

這將是經驗,猜測,監控和增量調整的組合,以找到任何給定應用程序的緩存甜蜜點。

聽起來好像你已經掌握了可能發生的事情,所以我將開始緩存代表你高流量的10%,並從那裏進行優化。您可能會或可能不會發現使用率較低的內容會進一步提升性能,但首先要將您的努力放在主要優化之上。