在一个典型的多层Web应用程序中,如何测量从服务器接收请求到时间服务器发出响应的响应时间 ? 我想关注服务器端的性能,所以我不想把时间花在networking上。
麻烦的是,Web服务器日志通常logging包括networking时间的响应时间。 例如,在IIS中,访问日志中的“花费时间”字段报告服务器接收请求的时间,服务器收到最终用户的响应确认 ,请参阅此MSDN文章以获取更多详细信息。
有没有任何监测工具或服务器configuration来启用这种测量?
在服务器上运行networking捕获,查看服务器收到请求的时间,并将其与请求响应的时间进行比较。 这会告诉你什么时候请求到达服务器上的networking堆栈,以及何时离开networking堆栈,这应该是服务器处理请求的速度的粗略近似值。
testing/采样应尽可能使用最less量的中间networking来隔离/消除networking延迟时间影响。
至于testing工具,Mercury Interactive有一些非常好的工具。 惠普已经购买了这些产品,因此您可以在那里查看目前的产品。
只需在应用程序中添加日志logging即可测量您要测量的整个服务周期的任何部分所涉及的时间。 良好的框架自动为你做这个。