计算基于java的服务器的内部响应时间

时间:2012-09-18 08:51:06

标签: java testing logging web log4j

我需要在压力测试的背景下计算内部响应时间。 我可以使用从不同服务器运行的pylot进行负载测试。如何计算不包括网络延迟的内部响应时间。我可以从同一台机器运行pylot,但这似乎不是一个好主意。 我可以考虑使用log4j等日志记录工具和分别接收和发送请求和响应的日志时间。

还有其他好办法吗?或者目前人们如何做到这一点?

1 个答案:

答案 0 :(得分:1)

我通常会创建一个servlet过滤器或类似的过滤器,在发送到servlet之前捕获服务器中的请求/响应,并记录servlet在那里花费的时间。

之前我已经完成了这项工作,我已经在servlet过滤器中记录了统计数据并计算了最小值/最大值/平均值,并在另一个servlet或JMX中显示了这些信息 - 它使生产问题诊断非常容易。我还使用过滤器来记录请求和响应,因此日志文件记录每次访问。

另一种(粗俗?)方法是通过ping或类似方法记录平均网络延迟,并从记录的客户端时间中减去该延迟。不要忘记减去请求的响应。然而,这是非常粗糙的,并没有考虑(比如)服务器端的流解压缩/编组等。