运行 DeleteExpiredSessions 的最佳时间间隔是多少?我刚刚继承了一个每月 300 万个唯一会话的 Web 应用程序的数据库,DeleteExpiredSessions 每分钟运行一次。这对我来说似乎太过分了。您有什么看法?
答案1
这里发布了 DeleteExpiredSessions 存储过程的改进版本:http://support.microsoft.com/kb/973849
我相信重写的目的是通过消除每分钟频繁删除会话时导致整页锁定的可能性来减少争用。
在 .NET 4.0 中,这是创建新的 ASPState 数据库时创建的 sproc 的版本。
答案2
我们刚刚遇到了同样的问题。我们将其延长至 5 分钟,以确保数据库在会话数据量的情况下保持较小。
如果对性能没有负面影响,我们计划每天进行一到两次。我们会及时通知您。