基于Java的rest api的性能测量

时间:2015-11-16 12:54:22

标签: java spring performance-testing

我编写了一个基于Java的rest API项目。我想测试API的性能。

这里的表现可以分为两个。

  1. 请求回复时间。
  2. 实际代码执行时间。
  3. 我知道如何测试或测量#1但我不知道如何测量#2。

    #2

    的更多信息

    假设我有一个映射到休息终点的方法。

    我想知道花了多少时间在

    1. 将数据解析为方法参数
    2. 执行方法中的代码
    3. 将响应转换回JSON所花费的时间
    4. 由于

2 个答案:

答案 0 :(得分:2)

对于请求 - 响应性能测试,您可以使用SoapUI或Jmeter:

http://www.soapui.org/rest-testing/getting-started.html

对于代码执行时间,"分析"是最好的选择,因为它不需要修改代码,但对非专业用户来说可能很难。

https://visualvm.java.net/

一种古老的方式,修改代码就是记录(用Log4j或类似方法)方法的执行时间:

long startT = System.nanoTime();
//Code you want to measure
long endT = System.nanoTime();

long executionTime = (endT - startT);  //divide by 1000000 to get millisecs.
//Log this in specific category and level, so you can turn it on/off depending on your needs

答案 1 :(得分:1)

对于性能测试,我建议使用JMeter(http://jmeter.apache.org/),如果您怀疑存在瓶颈,我建议使用jprof(http://perfinsp.sourceforge.net/jprof.html)等工具创建Java配置文件