网站首页 > 精选文章 / 正文
概 述
在生产环境中,有线上基于java的tomcat应用,而tomcat的默认配置参数,都是设置的很低,尤其是内存和线程配置,如果生产环境中,使用这些默认配置,一旦业务请求量较大时,很容易造成性能瓶颈。
对于tomcat的性能优化,我们主要从内存、并发以及缓存这3个方面来着手,下面将一次介绍。
JVM内存配置优化
JVM内存配置的优化主要是对JVM堆内存的优化,堆内存分为年轻代、老年代、永久代这三种,具体详情可以观看JVM的官方文档,这里我就不一一介绍,配置Tomcat的JVM参数可以在Tomcat的启动脚本catalina.sh中设置JAVA_OPTS参数。
1. JAVA_OPTS常见参数说明
- -server:表示启用JDK的Server模式;
- -Xms:表示设置JVM初始堆内存大小;
- -Xmx:表示设置JVM最大堆内存大小;
- -XX:NewSize=:表示设置年轻代大小;
- -XX:MaxNewSize=:表示设置年轻代最大内存大小;
- -XX:PermSize=:表示设置永久代大小;
- -XX:MaxPermSize=:表示设置永久代最大内存大小。
2. JVM内存分配举例
JVM大小设置与服务器的内存有着直接的关系,不能太大,也不能太小,如果服务器的内存大小为32G,可以设置为以下参数:
3. 堆内存大小的设置规则一般如下
1)将初始堆内存大小(Xms)和最大堆内存大小(Xmx)设置为彼此相等,可以减少GC次数和内存伸缩带来的频繁内存申请,从而减少一定的系统开销。
2)堆内存不能设置过大,虽然堆内存多可以减少GC次数,但是太多的堆内存也会导致垃圾回收的时间变长。
3)一般Xmx内存设置不超过物理内存的50%,最大不超过32G。
Tomcat并发优化和缓存优化
Tomcat并发与缓存优化主要对配置文件中的server.xml中的参数进行修改和配置。默认的server.xml文件的一些性能参数配置都很低,无法达到tomcat的最高性能。
1. Tomcat的常见并发参数说明
- maxThreads:表示客户请求最大线程数。
- minSpareThreads:表示Tomcat初始化时创建的Socket线程数。
- maxSpareThreads:表示Tomcat连接器的最大空闲Socket线程数。
- enableLookups:该参数设置为True,则表示支持域名解析,发请求转发到基于SSL的redirectPor端口上。
- redirectPort:表示SSL的redirectPort端口号。
- acceptAccount:表示监听端口队列最大数,满了之后会拒绝请求,不能小于maxSpareThreads。
- connetctionTimeout:表示连接超时时间。
- minProcessors:表示服务器创建时的最小处理线程数。
- maxProcessors:表示服务器同时最大出力线程数。
- URIEncoding:表示统一编码格式。
2. Tomcat缓存参数说明
- compression:表示打开压缩功能。
- compressionMinsize:表示启用压缩的输出内容大小,这里默认2KB。
- compressableMimeType:表示压缩类型。
- connectionTimeout:表示定义建立客户连接超时的时间,-1表示不限制。
3. Tomcat并发以及缓存配置举例
Tags:tomcat jvm参数设置
- 上一篇:Tomcat优化大全,进来看了,真就会了
- 下一篇:聊聊JVM如何调优
猜你喜欢
- 2024-12-14 服务端优化-Tomcat调优
- 2024-12-14 阿里面试:来聊聊JVM性能调优?
- 2024-12-14 探索Tomcat服务器性能优化之道
- 2024-12-14 Tomcat9.0官方手册中文版(一):入门介绍
- 2024-12-14 互联网Web服务容器:Tomcat8解析及性能优化
- 2024-12-14 java发起POST方法请求第三方接口(编码处理)
- 2024-12-14 扩大Tomcat内存方法
- 2024-12-14 线上问题排查指引
- 2024-12-14 spring boot使用经验分享(一)tomcat参数配置
- 2024-12-14 Tomcat性能优化(一)