当我的网站启动时,我打开第二个线程,将大量数据加载到缓存中。
Web层按预期工作,但会导致数据库负载过大。其他查询不再在合理的时间内提供。 DB是只读的,因此不涉及锁定。
有没有一种好方法可以告诉我的帖子让它变得简单?类似的事情:请到50%或者只在DB上压力很小的情况下继续加载?
答案 0 :(得分:1)
您应该查看Sql Server 2008的Resource Governor功能。
有了它,您可以设置ASP.Net网站可以使用的资源池,并将其限制为资源的X%。 Here's an example of setting it up
答案 1 :(得分:0)
确保加载的数据量小于计算机上的RAM量。此外,花一些精力调整您使用的查询。 SQL没有理由将数据加载到内存中。
答案 2 :(得分:0)
我认为您需要对数据库进行一些调整,因为它需要花费太多时间来提供填充缓存所需的数据。您是否查看了为填充缓存而运行的查询的执行计划?或针对人口流程运行Tuning Advisor?