springboot jar 包运行速度比在eclipse中慢15倍问题发现解决
用springboot 写了一个接口项目,基于activeMq接受发送的http协议的接口项目,在开发工具eclipse中测试的时候,压测速度每秒1w条左右,将项目放到打包成jar 包放到Linux生产机上后速度大幅下降,只有100条/s,很是奇怪,虽然测试时候没有进行网络传输,但是速度不应该这么慢。于是在eclipse所在的机器上运行打包好的jar,执行jar -Xms1g -Xmx1g -jar ***.jar ,发现速度同样会下降严重,只有600/s,于是考虑是否是初始堆栈,最高堆栈空间是否配置小了,于是配成4g 发现速度也没有明显提升,最后干脆不配置堆栈,发现速度还是没有提升多少。于是可以排除是堆栈配置的问题。
想到可能跟日志有关,使用的日志是logback,springboot 推荐日志 日志配置如下:
<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
<!-- <appender name="consoleApp" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>
%date{yyyy-MM-dd HH:mm:ss.SSS} %-5level[%thread]%logger{56}.%method:%L- %msg%n
</pattern>
</layout>
</appender> -->
<appender name="fileInfoApp"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>DENY</onMatch>
<onMismatch>ACCEPT</onMismatch>
</filter>
<encoder>
<pattern>
%date{yyyy-MM-dd HH:mm:ss.SSS} %-5level[%thread]%logger{56}.%method:%L -%msg%n
</pattern>
</encoder>
<!-- 滚动策略 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 路径 -->
<fileNamePattern>logs/http-gateway.info.%d.log</fileNamePattern>
</rollingPolicy>
</appender>
<appender name="fileErrorApp"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERROR</level>
</filter>
<encoder>
<pattern>
%date{yyyy-MM-dd HH:mm:ss.SSS} %-5level[%thread]%logger{56}.%method:%L -%msg%n
</pattern>
</encoder>
<!-- 设置滚动策略 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 路径 -->
<fileNamePattern>logs/http-gateway.err.%d.log</fileNamePattern>
<!-- 控制保留的归档文件的最大数量,超出数量就删除旧文件,假设设置每个月滚动, 且<maxHistory> 是1,则只保存最近1个月的文件,删除之前的旧文件 -->
<MaxHistory>3</MaxHistory>
</rollingPolicy>
</appender>
<root level="INFO">
<!-- <appender-ref ref="consoleApp" /> -->
<appender-ref ref="fileInfoApp" />
<appender-ref ref="fileErrorApp" />
</root>
</configuration>
感觉可能跟控制台输出有关系 于是注释掉了控制台输出,然后重新打包 ,发现速度就恢复了。
- Idea打包springboot项目jar包,运行报找不到主清单属性或找不到主类问题解决方法。
- eclipse运行速度优化(解决狂读盘、发布慢、CPU100%等问题)
- 关于用-jar运行springboot项目遇到的两个问题
- redis 在spring boot工程中的应用(三) 问题发现与解决 :反序列化 报错
- 解决eclipse创建spring boot项目加载不到application.properties配置文件的问题
- 解决eclipse新建springboot项目不能依赖sprig-parent-boot的问题
- 打开eclipse 运行发现tomcat出问题。如路径找不到 (1)eclipse 运行出现:The archive:C:/tomcat/bin/bootstrap.jar which is refe
- FatJar减肥: 解决SpringBoot jar包太大的问题
- ECLIPSE中MAVEN构建spring 多模块工程jar包不能自动扫描问题解决办法
- eclipse运行速度优化(解决狂读盘、发布慢、CPU100%等问题)
- 解决SpringBoot jar包太大的问题
- 解决SpringBoot jar包太大的问题
- FatJar减肥: 解决SpringBoot jar包太大的问题
- 解决Eclipse+lomboz找不到javax.serlvet.jar的jboss-boot.jar的问题
- 解决SpringBoot项目打成jar包访问不了jsp模板的问题: SpringBoot项目集成jsp模板打成war包 然后通过java -jar 命令启动访问
- ubuntu10.04下eclipse运行速度慢问题解决
- eclipse运行代码时——类路径引用的归档不存在"XXXXX.jar"问题解决
- eclipse运行速度优化(解决狂读盘、发布慢、CPU100%等问题)
- eclipse导出jar包无法运行,或者一闪而过的问题解决
- 解决关于Eclipse打包jar包后 运行结果错误的问题