我管理一个包含多个在线交易的 ASP.NET MVC 3 网站。在网站上,客户可以下订单、支付账单,而供应商可以向客户收费。所有这些都可以同时发生,所以我有信号量来确保线程安全。
我注意到的是,大约每周一次,网站会停顿十分钟。我的第一个问题是信号量中的死锁,但是在放置信号量日志并分析结果后,似乎没有死锁。此外,网站会在十分钟后自行恢复。
在调查时,我注意到整个网站变得没有响应,而不仅仅是使用信号量的部分。他们都使用数据库强硬。这就是为什么我的主要嫌疑人是数据库。
奇怪的是,每一次,网站都会冻结十分钟,几乎到秒。SQL Server 是否可以进行定期维护或任何可以解释这种延迟的事情?如果没有,您知道是什么原因造成的吗?