在典型的多层 Web 应用程序中,如何测量服务器收到请求后的响应时间向时间服务器发送响应?我想关注服务器端的性能,所以我不想包括在互联网上花费的响应时间。
问题是,Web 服务器日志通常记录响应时间,其中包括网络时间。例如,在 IIS 中,访问日志中的“所用时间”字段报告服务器收到请求的时间到时间服务器收到来自最终用户的响应确认, 看这篇 MSDN 文章了解更多详情。
是否有任何监控工具或服务器配置可以实现这样的测量?
答案1
在服务器上运行网络捕获,查看服务器收到请求的时间,并将其与响应请求的时间进行比较。这将向您显示请求何时到达服务器上的网络堆栈以及何时离开网络堆栈,这应该是服务器处理请求速度的粗略估计。
答案2
测试/采样应尽可能使用最少的中间网络进行,以隔离/消除网络延迟时间影响。
至于测试工具,Mercury Interactive 有一些非常好的工具。他们已经被 HP 收购,因此您可以去那里看看目前有哪些可用的工具。
答案3
只需在应用程序中添加日志记录,即可测量整个服务周期中您想要测量的任何部分所涉及的时间。好的框架会自动为您完成此操作。