Tomcat的优化策略

一、加大对Tomcat的运行内存

例如默认的256M增大到2G

二、服务器资源

服务器所能提供的CPU、内存、磁盘等性能会对处理能力有决定作用
1.对于高并发情况下会有大量的运算,那么CPU的速度会直接影响到处理速度;
2.内存在处理大量数据的情况下,将会有较大的内存需求,可以用-XMS -XMX -xx:MaxPermSize等参数对内存不同功能进行划分;

SET CATALINA_OPTS= -Xms2048m -Xmx4096m -XX:MaxNewSize=512m -XX:MaxPermSize=256m
set JAVA_OPTS=-Xms2048m -Xmx4096m -XX:PermSize=128M -XX:MaxPermSize=256m

rem SET CATALINA_OPTS= -Xms256m -Xmx512m -XX:MaxNewSize=256m -XX:MaxPermSize=512m
rem SET CATALINA_OPTS= -Xms256m -Xmx512m -XX:MaxNewSize=256m -XX:MaxPermSize=512m 
@echo off
解释:
-Xms为jvm启动时分配初始化内存 比如 -Xms2048m,表示分配2048M
-Xmx为jvm运行分配的最大内存 比如 -Xmx4096m,表示分配4096M
-Xss 每一个线程堆栈的大小,一般情况下256K就够了,不然会影响到此进程中并发线程的大小
-XX:PermSize=128M JVM初始分配的非堆内存,为128M
-XX:MaxPermSize=256m JVM最大允许分配的非堆内存,按需分类。

注意:
JDK8.0及之后使用的是metaspace代替PermSize,因此在许多我们设置的perSize大小改成对metaspace进行配置即可;
将-XX:PermSize=200m;-XX:MaxPermSize=256m;
修改成XX:Metaspace=200m;-XX:MaxMetaspace=256m;

3.磁盘的解决问题就是读写性能,当大量文件进行读写时,磁盘很容易成为性能瓶颈(可通过Nginx缓存静态资源解决)

三、利用缓存和压缩

对于静态页面最好是能够缓存起来,这样就不必每次从磁盘读取。我们可以采用Nginx作为缓存服务器,将图片、css、js 文件进行缓存,有效的减少了后台tomcat的访问;
另外为了加快网络传输速度,开启gzip压缩是必不可少的;但考虑到tomcat会处理很多东西,所以把这个压缩的工作交给前端的nginx来完成
除了文件可以通过gzip进行压缩,图片也可以通过图片处理工具预先压缩,找到一个平衡点可以让画质损失很小并且减少图片的大小。

gzip压缩:是若干种文件压缩程序的简称,通常指GNU计划,此处的gzip代表 GNU zip,也经常用来表示gzip这种文件格式。

四、使用tomcat集群

一般的生产环境,会使用Nginx+tomcat,tomcat仅处理动态资源(如jsp等等)
可以采用nginx来作为请求分流的服务器,然后多个tomcat共享Session来协同工作。

五.优化tomcat参数

需要修改conf/server.xml文件,主要优化连接配置,关闭客户端dns(域名解析器,因为这功能交给nginx去做)
如可以调整线程,更充分的利用我们的服务器。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Gimtom

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值