tomcat突破1千并发

最近由于项目马上要上线,于是开始一系列优化压测.一期要承接2.5w的并发量.所以后端部署了18台tomcat


但是刚开是非常差强人意.找到错误分析员因发现打开文件过多.于是开始一系列的系统内核优化   


6台机器部署tomcat  每台机器部署3个实例  机器配置如下  32核/64G内存/100G存储


压测机器配置   4路8核 512G内存 1*12T储存

采用jmeter进行的压测 

先贴下我的tomcat的线程池

<Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="2000" minSpareThreads="1000"/>
<Connector executor="tomcatThreadPool" port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"  
           connectionTimeout="2000"   
           redirectPort="8443"  enableLookups="false"   
           acceptCount="5000" maxThreads="2000" 
           compression="on" compressionMinSize="2048"
           maxConnections="10000"
           URIEncoding="utf-8" />


和jvm配置  

JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8  
    -server -Xms16384m -Xmx16384m  
    -XX:NewSize=1024m -XX:MaxNewSize=1024m -XX:PermSize=1024m  
    -XX:MaxPermSize=1024m xx: +disableExplicaitGC"
CATALINA_OPTS="-Djava.library.path=/data/tomcat/tomcat6080/lib"


但是当我压到1.5w的时候发现tomcat报错了  

错误:  org.apache.tomcat.util.net.NioEndpoint$Poller run

原来此处采坑了 nio模式下与 xx: +disableExplicaitGC是冲突的 于是把这个去掉  .在压还是不行,为啥呢?一打开错误日志,卧槽  系统内核参数回去了.


刚开始我没有改配置文件,直接在线改的,中途退出登录了,参数又回去了,于是又该一边内核参数,直接压2.5w



效果还可以吧 ,单压6个节点可以压到1.2w  基本上一个tomcat可以撑住2千并发量.


本人能力有限,有误之处希望指出

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值