自 18 个月以来,我在 Azure + SQL Azure 上托管了一个非常稳定的应用程序。
从星期一开始,我在 SQL Azure 中随机出现长时间的死锁,这只会阻止数据库中的任何更新数小时。
然后就过去了。然后它回来了。
这与实例无关,因为网站的“阅读”部分是可以的。
我确实在每个读者请求上使用 WITH (NOLOCK),因为在我的情况下我的一致性并不重要。所以 azure 中的 datareader 确实有效,但每次更新都会引发 SQL 超时连接。
我确实在 Windows Azure SQL 中使用重试逻辑来处理暂时性故障。
一个集中的数据库服务于几个网站,每天的访问量约为 25,000 次,自 18 个月以来我从未遇到过问题,当前的流量与上周一切正常时相比没有增加。
我不知道会发生什么。我第一次发现自己被困在云端,没有具体的方法来控制任何事情。
也许是攻击。那么如何在 Azure 中检测到呢?有没有办法在 Azure 实例上查看传入的 HTTP 请求?