當我的網站啓動時,我打開第二個線程,將大量數據加載到緩存中。加載緩存過載數據庫
Web層按預期工作,但會導致數據庫負擔過重。其他查詢不再在合理的時間內提供。數據庫是隻讀的,因此不涉及鎖。
有沒有一種很好的方法可以讓我的線程輕鬆?例如:請去50%或請在數據庫壓力不大時繼續加載?
當我的網站啓動時,我打開第二個線程,將大量數據加載到緩存中。加載緩存過載數據庫
Web層按預期工作,但會導致數據庫負擔過重。其他查詢不再在合理的時間內提供。數據庫是隻讀的,因此不涉及鎖。
有沒有一種很好的方法可以讓我的線程輕鬆?例如:請去50%或請在數據庫壓力不大時繼續加載?
確保您加載的數據量小於機器上的RAM數量。另外,花點時間調整您使用的查詢。沒有理由爲什麼SQL將數據加載到內存中應該很難。
你應該看看SQL服務器2008
有了它的Resource Governor功能,您可以設置您的ASP.Net網站可以利用的資源池,並限制對資源的X%。 Here's an example of setting it up。
我在想你需要對數據庫進行一些調整,因爲它需要太多的時間來提供填充緩存所需的數據。您是否查看了運行的查詢的執行計劃以填充緩存?或者針對人口流程運行Tuning Advisor?