随笔 - 1357  文章 - 0  评论 - 1104  阅读 - 1941万

tomcat性能优化

一、设置catalina.bat中的JAVA_OPTS参数,在D:\apache-tomcat-8085\bin\catalina.bat文件里
参数说明:
1.Xms:
TOMCAT中JVM内存最小设置参数,建议修改为1024M;

2.Xmx:
TOMCAT中JVM内存最大设置参数,建议修改为1024M;
注意:Xms、Xmx最好配置一样。

3.-XX:PermSize=256M
设置永久域(非堆内存)的初始值,默认是物理内存的1/64, 建议不要超过256M;

4.-XX:MaxPermSize=512M
设置永久域的最大值,默认是物理内存的1/4,建议修改为512M;

window设置如下:

rem ----- Execute The Requested Command ---------------------------------------

echo Using CATALINA_BASE:   "%CATALINA_BASE%"  
set  JAVA_OPTS=%JAVA_OPTS% -server -Xms1024m -Xmx1024m -XX:PermSize=256M -XX:MaxPermSize=512M #测试发现,8g内存4核cpu该设置最优,不同环境参数设置不一样
     
echo Using CATALINA_HOME:   "%CATALINA_HOME%"
echo Using CATALINA_TMPDIR: "%CATALINA_TMPDIR%"
if ""%1"" == ""debug"" goto use_jdk

 linux设置如下:

# ----- Execute The Requested Command -----------------------------------------
JAVA_OPTS="$JAVA_OPTS -server -Xms1024m -Xmx1024m -XX:PermSize=512M -XX:MaxPermSize=1024M"

 

二、设置server.xml中的Connector参数
打开%CATALINA_HOME%\conf\server.xml文件,找到以下内容:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"/>

修改为以下内容:

复制代码
<Connector port="8085" 
           protocol="org.apache.coyote.http11.Http11NioProtocol" <!-- 使用nio模式,提高性能 -->
           acceptorThreadCount="2" <!-- 双核启用 -->
           connectionTimeout="30000" <!-- 连接超时30秒 -->
           URIEncoding="utf-8" <!-- 双核启用 -->
           enableLookups="false" <!-- 关闭ip反查,提高性能 -->
           maxThreads="1000" <!-- 最多线程1000个 -->
           acceptCount="1000" <!-- 线程满了,请求队列数量1000个 -->
           maxConnections="10000" <!-- 最多请求量 -->
           minSpareThreads="200" <!-- Tomcat初始化时创建的线程数。此处我们设置为200 -->
           maxSpareThreads="300" <!-- 一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。此处的值我们设置为300。 -->
           redirectPort="8443"  
           bufferSize="3072" <!--Connector创建的输入流的大小,默认值是2048 bytes,提高这个值可以提升性能,增加内存消耗。 --> 
           />
复制代码

Tomcat中的Connector配置

posted on   Ruthless  阅读(654)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
历史上的今天:
2016-05-12 Ubuntu命令--CURL用法
2014-05-12 Backbone Collection——数据模型集合
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示