前一篇咱完整的解析了嵌入式 Tomcat 的启动原理,在以往的开发中我们可能会根据项目本身对 Tomcat 进行一些调整,以达到最大化利用 Tomcat 的目的。SpringBoot 使用嵌入式 Tomcat,再像之前那样做 Tomcat 性能调优就显得不那么现实了,为此我们需要了解如何在 SpringBoot 内部给嵌入式 Tomcat 做性能调优。这部分小册只做定性的解析,深入到量的控制小册不作详细探讨。
0. 调优前的准备
为测试当前 SpringBoot 中嵌入式 Tomcat 的最大性能,需要一个压力测试工具来辅助我们测试性能,目前应用比较多的压测工具有 Bench 和 JMeter ,小册中使用
Bench
作为压测工具。测试之前,咱先把工具准备好:
下载好之后,把这两个工具的环境变量都配置好,方便直接从控制台执行。
除此之外,把一开始的测试工程中加入一个测试的
DemoController
,用于接收请求压测(为模拟真实业务场景,会在 DemoController
中让线程随机阻塞 100 - 500ms
,以代替数据库连接和业务查询)。最后,把工程打成可执行jar包并启动,等待测试。jar包启动的方式非常简单:
java -jar demo-0.0.1-SNAPSHOT.jar
(本小册在进行压测时的物理环境:Windows10 + Intel Core i7-8750H)