通过调整Tomcat的配置,可以有效地提高服务器的性能。
1
|
vim conf/server.xml
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<Connector executor="tomcatThreadPool" port="10000" protocol="HTTP/1.1" acceptCount="10000" maxConnections="10000" connectionTimeout="20000" compression="off" compressionMinSize="2048" URIEncoding="utf-8" tcpNoDelay="true" enableLookups="false" useURIValidationHack="false" disableUploadTimeout="false" connectionUploadTimeout="150000" keepAliveTimeout="12000" maxKeepAliveRequests="1000" redirectPort="8443" /> |
修改后的截图如下:
1 2 |
cd /home/apache-tomcat-9.0.69 taskset -c N ./bin/startup.sh |
例如,需要设置“server.tomcat.max-threads”的值为“300”,直接在配置文件中找到“server.tomcat.max-threads”参数,将原来的值改为“300”即可,即改为server.tomcat.max-threads=300。
参数名称 |
默认值 |
参数含义 |
优化建议 |
---|---|---|---|
server.tomcat.max-threads |
200 |
用于设置Tomcat处理并发请求的最大线程数。 |
根据服务器的CPU核心数和内存来调整。 通常情况下,200~300个线程是比较合理的起点。 |
server.tomcat.min-spare-threads |
5 |
用于设置Tomcat启动时创建的最小线程数。可以确保在负载增加时立即响应请求。 |
根据应用负载和预期的并发请求数量来调整。 通常设置为10~20个线程。 |
server.tomcat.max-connections |
8192 |
用于设置Tomcat允许的最大连接数。 |
根据应用的并发连接需求来调整允许的最大连接数。 对于高流量应用而言,需要增大该参数值。 |
server.tomcat.keep-alive-timeout |
60000 |
用于设置连接超时的时间(单位为毫秒),在此时间内如果没有数据传输,连接将被关闭。 |
设置为15000~30000毫秒(即15~30秒),使连接保持和资源释放之间达到平衡。 |
server.tomcat.max-keep-alive-requests |
100 |
用于设置一个连接最多可以处理的请求数。 |
在频繁短连接的场景下,可以将Tomcat的长连接功能降低配置,或设为0或1以关闭长连接功能,从而减少因维持连接而产生的资源占用。 相反,在单连接多请求的场景中,可以增大该设置值,以降低建立连接所带来的响应延迟和资源消耗。 |
server.servlet.session.timeout |
30m |
用于设置会话在不活动的情况下过期时长。 |
通常,根据用户交互频率来调整连接过期时长,范围一般在30分钟到1小时之间(即设置为“30m”到“1h”之间)。 如果用户通过单个连接频繁发送请求,可以适当延长过期时长;反之,如果请求不频繁,则可以缩短过期时长。 |
server.http2.enabled |
false |
用于设置是否启用HTTP/2协议。 |
HTTP/2协议是一个重要的网络传输协议,它相较于HTTP/1.1在性能上有了显著的提升。建议启用HTTP/2协议以提高Web应用的性能。设置为true表示启用HTTP/2协议。 |
server.max-http-header-size |
8KB |
用于设置HTTP请求头的最大字节数,可以防止客户端发送过大的请求头,导致OOM(Out of Memory)或过大的资源占用。 |
在不影响正常业务运行的前提下,合理地降低该配置项的值,有助于提升系统的安全性和稳定性。 |
server.compression.enabled |
false |
“server.compression.enabled”参数用于设置是否启用网页压缩功能,当设置为“false”时,表示不启用压缩功能。如果希望减少发送给客户端的数据量,提高传输效率,可以将其设置为“true”来启用压缩功能。 |
建议设置为“true”以启用压缩功能,启用网页压缩有助于提高性能。 |
server.tomcat.compression.min-response-size |
2KB |
参数用于指定Tomcat服务器执行压缩所需的最小响应大小。 |
将“min-response-size”设置为“2KB”通常能取得良好效果。表示当响应大小超过2KB时,Tomcat服务器才会对其进行压缩。这个设置有助于避免对非常小的响应进行不必要的压缩,从而节省服务器的资源。 |
1 2 |
cd /home/tomcat-test-01 taskset -c N java -jar target/tomcat-test-01-0.0.1-SNAPSHOT.jar |