当我的网站启动时,我打开第二个线程,将大量数据加载到缓存中。加载缓存过载数据库
Web层按预期工作,但会导致数据库负担过重。其他查询不再在合理的时间内提供。数据库是只读的,因此不涉及锁。
有没有一种很好的方法可以让我的线程轻松?例如:请去50%或请在数据库压力不大时继续加载?
当我的网站启动时,我打开第二个线程,将大量数据加载到缓存中。加载缓存过载数据库
Web层按预期工作,但会导致数据库负担过重。其他查询不再在合理的时间内提供。数据库是只读的,因此不涉及锁。
有没有一种很好的方法可以让我的线程轻松?例如:请去50%或请在数据库压力不大时继续加载?
确保您加载的数据量小于机器上的RAM数量。另外,花点时间调整您使用的查询。没有理由为什么SQL将数据加载到内存中应该很难。
你应该看看SQL服务器2008
有了它的Resource Governor功能,您可以设置您的ASP.Net网站可以利用的资源池,并限制对资源的X%。 Here's an example of setting it up。
我在想你需要对数据库进行一些调整,因为它需要太多的时间来提供填充缓存所需的数据。您是否查看了运行的查询的执行计划以填充缓存?或者针对人口流程运行Tuning Advisor?