项目中遇到的难题

大屏项目使用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    启动引导类

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容