Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于Java的restapi性能度量_Java_Spring_Performance Testing - Fatal编程技术网

基于Java的restapi性能度量

基于Java的restapi性能度量,java,spring,performance-testing,Java,Spring,Performance Testing,我已经编写了一个基于Java的RESTAPI项目。我想测试API的性能 这里的表演可以分为两种 请求到响应时间 实际代码执行时间 我知道如何测试或测量1,但我不确定如何测量2 #2的更多信息 假设我有一个映射到rest端点的方法 我想知道花了多少时间在工作上 将数据解析为方法参数 在方法中执行代码 将响应转换回JSON所花费的时间量 感谢进行请求-响应性能测试,您可以使用SoapUI或Jmeter: 对于代码执行时间,“评测”是最好的选择,因为它不需要修改代码,但对于非专家用户来说可能很困难

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

这里的表演可以分为两种

  • 请求到响应时间
  • 实际代码执行时间
  • 我知道如何测试或测量1,但我不确定如何测量2

    #2的更多信息

    假设我有一个映射到rest端点的方法

    我想知道花了多少时间在工作上

  • 将数据解析为方法参数
  • 在方法中执行代码
  • 将响应转换回JSON所花费的时间量

  • 感谢进行请求-响应性能测试,您可以使用SoapUI或Jmeter:

    对于代码执行时间,“评测”是最好的选择,因为它不需要修改代码,但对于非专家用户来说可能很困难

    旧的方式是修改代码(使用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
    

    对于您的性能测试,我建议您使用JMeter(),如果您怀疑存在瓶颈,我建议您使用jprof()之类的工具创建java概要文件。

    我建议您阅读以下内容:System.currentTimeMillis()应该给您时间。。。只需在服务器的REST层或过滤器上使用它,即可找到时间上的差异