export JAVA_OPTS="-server -Xms8g -Xmx8g -Xss128k -XX:ParallelGCThreads=20
-XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:SurvivorRatio=8-XX:TargetSurvivorRatio=90 -XX:MaxTenuringThreshold=31"
sysctl.conf 的配置:
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_tw_buckets = 180000
net.ipv4.tcp_sack = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_rmem = 4096 87380 4194304
net.ipv4.tcp_wmem = 4096 16384 4194304
net.ipv4.tcp_max_syn_backlog = 65536
net.core.netdev_max_backlog = 32768
net.core.somaxconn = 327680
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 2
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_tw_recycle = 1
#net.ipv4.tcp_tw_len = 1
net.ipv4.ip_local_port_range = 1024 650000
net.ipv4.tcp_keepalive_time = 5
net.ipv4.tcp_keepalive_probes=2
net.ipv4.tcp_keepalive_intvl=2
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recyle = 1
net.ipv4.tcp_max_syn_backlog=8192
net.ipv4.tcp_no_metrics_save = 0
net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_max_orphans = 3276800
fs.file-max = 9553600
net.ipv4.netfilter.ip_conntrack_max = 655360
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 60
net.ipv4.tcp_max_tw_buckets = 60000
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
tomcat 的SERVER.XML 配置:
server.conf 配置
<Connector port="8188" protocol="HTTP/1.1"
maxThreads="30000"
minSpareThreads="512"
maxSpareThreads="2048"
enableLookups="false"
redirectPort="8443" acceptCount="35000"
debug="0"
connectionTimeout="40000"
disableUploadTimeout="true"
URIEncoding="UTF-8" />
参数说明:
connectionTimeout - 网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐
患的。通常可设置为30000毫秒。
keepAliveTimeout - 长连接最大保持时间(毫秒)。此处为15秒。
maxKeepAliveRequests - 最大长连接个数(1表示禁用,-1表示不限制个数,默认100个。
一般设置在100~200之间)
maxHttpHeaderSize - http 请求头信息的最大程度,超过此长度的部分不予处理。一般8K。
URIEncoding - 指定Tomcat 容器的URL 编码格式。
acceptCount - 指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中
的请求数,超过这个数的请求将不予处理,默认为10个。
disableUploadTimeout - 上传时是否使用超时机制
enableLookups - 是否反查域名,取值为:true 或false。为了提高处理能力,应设置为
false
bufferSize - defines the size (in bytes) of the buffer to be provided for input
streams created by this connector. By default, buffers of 2048 bytes are provided.
maxSpareThreads - 最大空闲连接数,一旦创建的线程超过这个值,Tomcat 就会关闭不再
需要的socket 线程The default value is 50.
maxThreads - 最多同时处理的连接数,Tomcat 使用线程来处理接收的每个请求。这个值表
示Tomcat 可创建的最大的线程数。minSpareThreads - 最小空闲线程数,Tomcat 初始化
时创建的线程数.
minProcessors - 最小空闲连接线程数,用于提高系统处理性能,默认值为10。
maxProcessors - 最大连接线程数,即:并发处理的最大请求数,默认值为75。
修改启动时内存参数
window 下, 在catalina.bat 最前面:
set JAVA_OPTS=-XX:PermSize=64M -XX:MaxPermSize=128m -Xms512m -Xmx1024m
一定加在catalina.bat 最前面。
linux 下,在catalina.sh 最前面增加:
JAVA_OPTS="-XX:PermSize=64M -XX:MaxPermSize=128m -Xms512m -Xmx1024m
-Duser.timezone=Asia/Shanghai"
注意:前后二者区别,有无set,有无双引号。
相关推荐
经验证的tomcat高并发和集群配置的server.xml,在生产上已经使用的。不过需要注意context.xml中需要这样子配置: <Context distributable="true" useHttpOnly="false">
下面将详细阐述如何针对"tomcat 1000/s 并发配置"进行优化。 首先,我们需要了解Tomcat的并发原理。Tomcat使用线程池来处理HTTP请求,每个请求都会分配一个工作线程进行处理。因此,优化的关键在于合理配置线程池...
Tomcat作为最常用的Java Web服务器,随着并发量越来越高,Tomcat的性能会急剧下降,那有没有什么方法来优化Tomcat在高并发环境下的性能呢? Tomcat运行模式 Tomcat的运行模式有3种。 1.bio模式 默认的模式,性能非常...
1.Tomcat优化配置 (1)更改Tomcat的catalina.bat 将java变成server模式,增大jvm的内存,在文件开始位置增加 setJAVA_OPTS=-server -Xms1024m -Xmx2048m -Xss512K -XX:...在 中 增加如下配置(亲测10秒内2000并发没
【描述】:这篇博文主要探讨了Apache Tomcat服务器在处理高并发场景下的性能优化和工作原理。作者通过深入分析Tomcat的源码,揭示了Tomcat如何处理并发请求,以及如何配置和调整以应对大规模并发访问。文章链接为,...
8. **Tomcat高并发配置**:“tomcat高并发的配置.pdf”可能包含有关优化Tomcat以处理大量并发请求的信息,如调整JVM参数、优化线程池设置、启用连接池、限制最大连接数等。 9. **源码安装**:提供的源码包(如httpd...
本文将详细介绍如何在CentOS7上安装JDK8、MySQL8和Tomcat9,并配置相应的环境变量。 首先,我们开始安装JDK1.8。Oracle官网提供了JDK的下载链接,通常为tar.gz格式的压缩包。你需要在你的本地计算机上下载对应版本...
【标题】:“Tomcat集群配置” 在Web应用的高可用性和可扩展性需求...正确配置和维护Tomcat集群,能显著提升Web应用的性能和可靠性,满足高并发场景的需求。在实际操作中,务必结合具体情况灵活调整,以达到最佳效果。
### Apache+Tomcat服务器集群配置详细步骤 #### 一、引言 在现代Web开发中,随着业务规模的不断扩大和用户...对于处理高并发访问场景或需要提供不间断服务的应用来说,Apache+Tomcat集群无疑是一个理想的解决方案。
这在预期高并发访问时尤其重要。 4. **内存配置**:在`bin/catalina.sh`或`bin/catalina.bat`启动脚本中,可以通过设置`JAVA_OPTS`环境变量来调整JVM的内存分配,如`-Xms`和`-Xmx`分别用于设置初始堆内存和最大堆...
【标题】:Tomcat发布JavaWeb项目与配置详解 在Java Web开发中,...而设置合适的并发线程数,则能确保Tomcat在高并发场景下仍能保持高效运行。了解并掌握这些配置技巧,对于优化JavaWeb应用的部署和运行至关重要。
《Tomcat启动优化与并发优化配置详解》 Tomcat,作为Java Web应用最常用的...以上策略只是基础,实际优化过程中还需结合监控工具,对系统进行持续的性能测试和调优,以确保Tomcat在高并发环境下的稳定性和高效性。
### Tomcat GC 优化配置详解 #### 一、概述 在服务器端应用中,Java虚拟机(JVM)的性能优化至关重要,特别是对于像Tomcat这样的应用服务器而言,其性能直接影响到系统的响应速度和资源利用率。本文将详细介绍如何...
在实际调整Tomcat并发线程数时,需要特别注意的是,增加线程数会增加服务器的资源消耗,如果服务器的CPU、内存等资源不足以支撑如此高并发的需求,反而可能造成系统不稳定。因此,仅仅简单地增加maxThreads并不能...
Apache Tomcat 是一款免费开源的Servlet容器,被广泛应用于中小型系统和并发访问用户不是特别多的场合。Tomcat 6.0 版本是基于 Java 6 的 Servlet 2.5 规范的一个稳定版本。本文将详细介绍如何在Windows环境下安装与...
例如,在高并发环境下,如果不合理地配置内存参数,可能会导致服务器响应变慢、应用崩溃等问题。此外,内存配置还会影响垃圾回收机制的效率,进而影响到整个系统的稳定性和性能表现。 ### 理解Tomcat内存配置命令 ...
在高并发和大数据量的场景下,为了提高应用性能和资源利用率,使用连接池是必不可少的策略。Tomcat连接池,也称为数据源(DataSource),允许复用已建立的数据库连接,减少创建和关闭连接的开销。 配置Tomcat连接池...
6. **连接池配置**:对于高并发场景,可以配置连接池以优化数据库访问。在`$CATALINA_HOME/conf/Catalina/localhost`目录下创建一个XML文件,定义数据源。 **故障排查与优化:** - 使用`catalina.out`日志文件来...