Java - Controller 压测 VS Main 压测

简介: Java - Controller 压测 VS Main 压测


可能第一次你看到这个标题不懂在讲什么?其实很简单,就是介绍在 Spring 里 Controller 方法里进行调用A方法和在 Main 方法里进行调用同一个A方法的时间消耗对比!

Main 压测

/*** @author Lux Sun* @date 2020/11/4*/@Slf4jpublicclassTest {
publicstaticvoidmain(String[] args) {
StopWatchsw=newStopWatch();
sw.start();
// 业务代码Asw.stop();
log.info("Main-Time: {}", sw.getTotalTimeMillis());
    }                
}

Controller 压测

/*** @author Lux Sun* @date 2020/6/18*/@Slf4j@RestControllerpublicclassExecController {
@GetMapping("/test")
publicvoidtest() {
StopWatchsw=newStopWatch();
sw.start();
// 业务代码Asw.stop();
log.info("Controller-Time: {}", sw.getTotalTimeMillis());
    }
}

结论

Controller-Time 比 Main-Time 要短,更接近真实环境压测时间;猜测因为 JVM 里面有代码的预加载或预编译的感觉,所以时间开销方面肯定是 Controller 更胜一筹,因为服务一直开着,而 Main 是每次手动从 0 开始启动的。

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
目录
相关文章
|
1月前
|
存储 安全 Java
ArrayList vs. LinkedList: Java集合框架的比较与应用
ArrayList vs. LinkedList: Java集合框架的比较与应用
|
4月前
|
Java C++ 网络架构
【Java】@ApiOperation vs @ApiResponse in Swagger
【Java】@ApiOperation vs @ApiResponse in Swagger
42 0
|
1月前
|
存储 安全 Java
24、使用 Java 官方教程学习:① 类变量和类方法详解;② 深入介绍 main() 方法
24、使用 Java 官方教程学习:① 类变量和类方法详解;② 深入介绍 main() 方法
38 1
|
7月前
|
Java
java main方法不对错误
java main方法不对错误
29 0
|
26天前
Exception in thread “main“ java.lang.NoClassDefFoundError: freemarker/template/Configuration
Exception in thread “main“ java.lang.NoClassDefFoundError: freemarker/template/Configuration
20 0
|
3月前
|
Java Windows
[main] DEBUG Sigar - no sigar-amd64-winnt.dll in java.library.path org.hyperic.sigar.SigarException:
[main] DEBUG Sigar - no sigar-amd64-winnt.dll in java.library.path org.hyperic.sigar.SigarException:
28 1
|
11天前
|
Java Android开发 C++
Kotlin vs Java:选择最佳语言进行安卓开发
【4月更文挑战第13天】Java曾是安卓开发的主流语言,但Kotlin的崛起改变了这一局面。Google在2017年支持Kotlin,引发两者优劣讨论。Java以其成熟稳定、强大生态和跨平台能力占优,但代码冗长、开发效率低和语言特性过时是短板。Kotlin则以简洁语法、空安全设计和高度兼容Java脱颖而出,但社区和生态系统仍在发展中,可能存在学习曲线和性能问题。选择语言应考虑项目需求、团队熟悉度、维护性、性能和生态系统。无论选择哪种,理解其差异并适应新技术至关重要。
|
12天前
|
Java Shell
Java 21颠覆传统:未命名类与实例Main方法的编码变革
Java 21颠覆传统:未命名类与实例Main方法的编码变革
13 0
|
30天前
Exception in thread “main“ java.lang.UnsupportedOperationException
Exception in thread “main“ java.lang.UnsupportedOperationException
17 1
|
1月前
|
Java
java面向对象高级分层实例_测试类(main方法所在的类)
java面向对象高级分层实例_测试类(main方法所在的类)
10 1