【发布时间】:2016-02-04 03:31:18
【问题描述】:
我正在使用 Apache commons HTTP 客户端使用 Web 服务,我想计算确切的响应时间,获得它的最佳方法是什么?提前致谢。
【问题讨论】:
标签: java web-services rest apache-commons
我正在使用 Apache commons HTTP 客户端使用 Web 服务,我想计算确切的响应时间,获得它的最佳方法是什么?提前致谢。
【问题讨论】:
标签: java web-services rest apache-commons
我会使用一种已经存在的工具来测量 API 的响应时间,而不是在您的应用内部构建它,最好使用也可以扩展负载的工具。
如果您只使用 GET 请求而不进行身份验证,您可以尝试使用 Apache Benchmark (ab https://httpd.apache.org/docs/2.2/programs/ab.html)。它带有apache,您可以运行并发请求来创建负载。
对于更复杂的请求,例如 POST,请查看运行 jmeter:http://jmeter.apache.org/ 或 gatling (http://gatling.io/#/)
这些都不能解决分布式本机负载下的性能问题,但有几个托管服务可用于分布式运行jmeter 测试,例如https://blazemeter.com。
如果您真的想自己在应用程序中构建一些东西(例如用于日志记录/调试目的),请查看 Apache Commons 性能框架:http://commons.apache.org/sandbox/commons-performance/
或者...如果您真的只是想要非常粗略的“随风而动”的性能数字,请使用您的 ApacheCommon 客户端并使用 time 命令行应用程序调用它或您的脚本(如果您在 linux 或 OSX 上运行)。这很麻烦,因为它会将响应时间与客户端应用程序或您可能正在运行以调用客户端的任何脚本混为一谈。
【讨论】: