我的MVC应用程序使用的是在IIS 6.0上运行的API(生产服务器上的7.0)。对于API,我在API.ashx文件中使用 IHttpHandler 实现。
我对API.ashx文件进行了很多不同的API调用,但是我会告诉一个没有数据库调用的API调用,所以它肯定不是数据库问题。 在ProcessRequest方法的最开始,我添加了 Diagnostics.Stopwatch 来跟踪性能并在最后一个方法的行中停止它。 秒表的输出总是稳定的(+ - 2ms),平均显示5ms(!!!)。 但在我的网站上,我看到绝对不稳定和不同的时间到第一个字节。它可能从15ms开始,可能会增长到1秒,并且平均显示300毫秒,但在日志中我仍然可以使用秒表稳定5毫秒。
这种情况发生在我使用的每台服务器上,甚至在本地(因此这不是与网络相关的问题)和生产中。 BTW所有静态资源都加载得非常快(<10ms)
有人能建议解决这个问题吗?
答案 0 :(得分:3)
这听起来很难在没有更多细节的情况下进行诊断。你可以编辑你的问题并添加一个瀑布图表来显示有问题的API调用吗?生成瀑布图的一个非常好的工具是http://webpagetest.org
我还建议阅读这篇关于诊断慢速TTFB的文章。
http://www.websiteoptimization.com/speed/tweak/time-to-first-byte/
它详细介绍了缓慢响应背后的一些原因。 以下是一些可能会降低服务器速度的服务器性能问题。
希望有所帮助!