1. 概述
在部署的时候一些系统的配置调整,避免在上线的时候频繁遇到性能问题。
2. 日志调整
日志可以记录程序的运行信息,但是如果日志的级别太低,会记录大量日志,产生大量的IO,导致程序性能下降。因此需要对日志级别进行调整。
2.1 微服务日志调整
在开发模式下,我们的日志模式一般使用调试模式,在生产环境下,我们希望使用ERROR模式,这个时候我们可以在运行时指定 log4j 的配置文件。具体的使用方法如下:
将 logback-spring.xml
拷贝到 jar包相同的路径。
然后使用如下命令启动微服务:
java -jar -Xbootclasspath/a:. jpaas-user.jar –nacos.address=localhost:8848
使用 -Xbootclasspath/a:. 指定资源文件路径,这样我们只需要修改 logback-spring.xml 的模式为 ERROR。这样也方便我们直接改成 DEBUG 模式。
2.2 mybatis 日志开关
在代码 DefaultMybatisPlusConfig 中,我们手工设置了mybatis 日志相关的配置。
@Value(value = “${redxun.dblog:true}”)
private boolean showLog=true;
if(showLog){
configuration.setLogImpl(StdOutImpl.class);
}
else{
configuration.setLogImpl(NoLoggingImpl.class);
}
这个日志输出默认是 true,即默认输出日志,当然用户可以在 nacos-config-dev.properties 通过设置 redxun.dblog
关闭输入SQL的日志。
2.2. 修改nacos 日志
<root>
<level value="INFO"/>
<appender-ref ref="rootFile"/>
</root>
这个修改成 ERROR.
2.3 修改 seata 配置
找到 conf/logback.xml
文件
<root level="INFO">
<appender-ref ref="ALL"/>
<appender-ref ref="WARN"/>
<appender-ref ref="ERROR"/>
<appender-ref ref="CONSOLE"/>
</root>
默认为 INFO ,生产修改为 ERROR
2.5 修改 ROCKETMQ配置
默认为 INFO ,生产修改为 ERROR
3.微服务线程调整
我们的微服务应用一般是打包成jar 包,默认的jar包是内置的tomcat在运行。一般情况我们可以在 *.yml 属性文件中对tomcat的最大线程数,空闲线程数进行调整,但是这样有个问题。如果将这些数据配置到 yml文件,程序打成包后,如果需要调整这些个参数,就必须重新打包。
实际上我们可以将这些参数配置到 nacos 的文件中。
3.1 全局配置
顾名思义,就是我们配置有个地方,所有的微服务都会使用这个配置。
修改 nacos-config-dev.properties
增加配置:
# 等待连接数
server.tomcat.accept-count=1000
# 最大连接数
server.tomcat.max-connections=1000
# 最大线程数量
server.tomcat.max-threads=1000
# 最小线程数
server.tomcat.min-spare-threads=22
关于这些线程的调整,我们可以参考以下文章。
https://www.cnblogs.com/crazymakercircle/p/11748214.html
3.2 对某个微服务单独配置
有些情况下,我们想对某一个微服务应用进行单独设置,这个时候我们可以做如下配置。
我们可以 使用
- 微服务名 +”-dev.properties”
- 微服务名称 +”.properties”
其中优先第一条,如果没有配置则获取 第二条,再获取全局的配置。
比如我们想对 jpaas-system 服务设置,我们可以做如下的配置:
修改 jpaas-system-dev.properties
# 等待连接数
server.tomcat.accept-count=100
# 最大连接数
server.tomcat.max-connections=500
# 最大线程数量
server.tomcat.max-threads=500
# 最小线程数量
server.tomcat.min-spare-threads=19
这样就会优先这个配置,具体测试,我们可以使用 普罗米修斯进行验证。
4. 前端启用压缩
现在的程序使用单页面应用,因此程序会在一开始就会加载页面JS。如果带宽不够,那么会影响页面下载速度。
我们可以使用NGINX 进行压缩,加快文件下载。
编辑 nginx.conf
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.0;
gzip_comp_level 3;
gzip_types text/plain application/javascript application/css text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
gzip_vary off;
gzip_disable "MSIE [1-6]\.";
gzip_comp_level 是压缩等级,可以使用 1-9 ,值越大,压缩比越高,但是对CPU的消耗也就越高。压缩比达到了 3倍.