如何计算RESTful Web服务的响应时间

时间:2016-02-03 19:10:52

标签: java web-services rest apache-commons

我正在使用Apache commons HTTP客户端使用Web服务,我想计算确切的响应时间,获得它的最佳方法是什么?提前致谢。

1 个答案:

答案 0 :(得分:3)

我会使用一个已经存在的工具来测量API的响应时间,而不是在应用程序内部构建它,最好使用也可以扩展负载的工具。

如果您在未经身份验证的情况下仅使用GET个请求,则可以尝试使用Apache Benchmark(ab https://httpd.apache.org/docs/2.2/programs/ab.html)。它附带apache,您可以运行并发请求来创建加载。

对于POST等更复杂的请求,请查看正在运行jmeterhttp://jmeter.apache.org/gatlinghttp://gatling.io/#/

这些都不能解决分布式加载下的性能问题,但是存在多个托管服务,用于jmetertime测试的分布式运行。

如果你真的想在自己的应用程序中构建一些东西(例如用于记录/调试),请查看Apache Commons性能框架:https://blazemeter.com

或者......如果你真的只想要非常粗糙的“手指风”性能数字,请使用ApacheCommon客户端并使用resource_http = Net::HTTP.new(webserver.company.com, 443) resource_http.use_ssl = true resource_http.verify_mode = OpenSSL::SSL::VERIFY_NONE resource_request = Net::HTTP::Post.new("/api/endpoint") resource_request.set_form_data({"chocolate"=>"yes","beer"=>"yes"}) resource_response = resource_http.request(resource_request) 命令行应用程序调用它或你的脚本(如果你在linux上运行)或OSX)。这很麻烦,因为它会将响应时间与客户端应用程序或您可能正在运行的任何脚本一起调用客户端。