实时网站已关闭。流量太大。我该从哪里开始呢?(Win 2003 + ASP.NET + Memcached + SQL Server 2005)

实时网站已关闭。流量太大。我该从哪里开始呢?(Win 2003 + ASP.NET + Memcached + SQL Server 2005)

我们的流量大幅增加,但网站在一天中的大部分时间都运行良好,但在高峰时段,网站却瘫痪了。数百个请求排队等待,高峰期过后一切又恢复正常。

正确诊断瓶颈的步骤是什么?

我们非常确信这不是数据库服务器的问题,因为我们使用 Memcached 来缓存大部分数据。非常感谢您的帮助。

谢谢!

答案1

我添加了一条评论,表示需要更多信息才能回答这个问题。当我们有更多内容时,我会尝试更新我的答案。

与此同时,您可以尝试以下 3 件事:

  • 运行代码分析器。查看代码是否在某些地方运行速度特别慢。
  • 在关键入口和出口处使用一些计时器。即在调用“关键子系统”时存储时间戳,然后计算执行时间。“关键子系统”可以是任何您能想到的可能导致速度缓慢的原因,例如您自己的大量混乱代码、第三方库、memcached、SQL 等。为了获得最佳效果,请在操作期间记录到(最好是单独的)数据库中,以便您可以跟踪峰值负载下的时间消耗情况。
  • 看看 SQL Server;它有很好的统计数据,可以告诉你很多信息。查询率如何?有哪些查询既常用又慢?

答案2

正如西蒙提到的,如果没有更多的信息,这个问题很难回答。

这看起来是一篇很好的读物:http://msdn.microsoft.com/en-us/library/ms998549.aspx

“线程解释”部分提出了一些优化建议,以减少请求排队。

相关内容