大屏项目使用war包,接口访问速度很慢
情况描述: 本地访问正常,使用docker部署,把war包放到tomcat中,发现接口响应速度很慢
springboot常见打包方式
1.jar包: 使用 java -jar运行
2.war包: 使用外置tomcat运行
3.pom: 聚合工程,传递依赖(父级工程用pom方式)
问题排查过程
猜测的原因: 1.数据库服务出现问题导致连接时间过长;2.容器中的网络环境问题导致数据库连接时间过长;3.容器内存过小导致频繁GC
排查结果: 在容器中通过mysql客户端连接、执行sql语句没出现响应时间过长现象;容器中ping数据库地址没有出现丢包或响应慢现象;启用jvm参数-XX:+PrintGC,没有发现出现频繁GC或FULL GC
jar和war的区别
war
jar
jar包:
Spring-Boot-Classpath-Index: BOOT-INF/classpath.idx
Spring-Boot-Classes: BOOT-INF/classes/ 源码目录
Spring-Boot-Lib: BOOT-INF/lib/ 资源文件
Main-Class: org.springframework.boot.loader.JarLauncher 启动引导类
war包
Spring-Boot-Classes: WEB-INF/classes/ 源码目录
Spring-Boot-Lib: WEB-INF/lib/ 资源文件
Main-Class: org.springframework.boot.loader.WarLauncher 启动引导类