tomcat高并发配置

最近在项目中负责Tomcat高并发优化方案写一写新得。

优化1)tomcat默认的并发是75,可以启用线程池根据生产环境硬件设定线程池大小。

  <Executor name="tomcatThreadPool" namePrefix="catalina-exec-"

maxThreads="150" minSpareThreads="40"/>

     并在使用时引用线程池。

  并发在150左右     

优化2)tomcat7及之前的版本默认采用BIO,启用NIO模式(NIO与BIO差距自行脑补)

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Heiti SC Light" }

<Connector executor="tomcatThreadPool"

port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"

connectionTimeout="20000"

redirectPort="8443" />

经过这次优化后250的并发量一般是没问题

优化3)APR模式,因为实际生产环境大部分在linux下,所以直说Linux下的安装

(1)先安装gcc   (没有yum命令先安装yum,sudo apt -get install yum)

   yum -y install gcc

(2) 按装apr和apr-util

下载地址http://apr.apache.org/download.cgi

p.p1 { margin: 0.0px 0.0px 14.0px 0.0px; font: 14.0px Arial; color: #323333 }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Arial; color: #323333 }
span.s1 { }
span.s2 { font: 14.0px "Heiti SC Light" }

  

p.p1 { margin: 0.0px 0.0px 14.0px 0.0px; font: 14.0px Arial; color: #323333 }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Arial; color: #323333 }
span.s1 { }
span.s2 { font: 14.0px "Heiti SC Light" }

apr-1.3.2.tar.gz安装:

tar zxvf apr-1.3.2.tar.gz

cd apr-1.3.2

./configure  --prefix=/usr/local/apr

make

make install

p.p1 { margin: 0.0px 0.0px 14.0px 0.0px; font: 14.0px Arial; color: #323333 }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Arial; color: #323333 }
span.s1 { }
span.s2 { font: 14.0px "Heiti SC Light" }

apr-util-1.3.2.tar.gz 安装:

tar zxvf apr-util-1.3.2.tar.gz

cd apr-util-1.3.2

./configure --prefix=/usr/local/apr-util

make

make install

(3)安装pcre 下载地址https://sourceforge.net/projects/pcre/files/pcre/

unzip -o pcre-8.33.zip # cd pcre-8.33

# ./configure --prefix=/usr/local/pcre

make

make install

(4)安装apache  http://httpd.apache.org/download.cgi

tar zxvf httpd-2.4.25.tar.tz

./configure --prefix=/usr/local/apache --enable-modules=all --enable-mods-shared=all --enable-proxy --enable-proxy-connect --enable-proxy-ftp --enable-proxy-http --enable-proxy-ajp --enable-proxy-balancer --enable-rewrite --enable-status --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --with-pcre=/usr/local/pcre

make

make install

(5)

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo }
span.s1 { }
span.s2 { font: 11.0px "Heiti SC Light" }

配置apache开机自启动

在/etc/rc.local(或者/etc/rc.d/rc.local)中加入如下一下 /opt/apache/bin/apachectl -k start

查看是否正常启动:ps -ef | grep httpd

经过APR优化后并发量轻松破300

END

参考地址

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "Heiti SC Light"; color: #323333 }
span.s1 { }

http://wenku.baidu.com/link?url=IWluBNhmZVtnY3zvQBSHbI18gmItJc1wM8ExsYAcLznE1_zWnQID99HATHuiYmBl1PCcVV5rdeXBZttkPcwmMZM95m-aTBgdSMD7Hb2u1ZG

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "Heiti SC Light"; color: #323333 }
span.s1 { }
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Arial; color: #323333 }
span.s1 { }
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "Heiti SC Light"; color: #323333 }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "Heiti SC Light"; color: #323333; min-height: 14.0px }
span.s1 { }
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "Heiti SC Light"; color: #323333 }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo }
span.s1 { }
span.s2 { }

时间: 2024-08-06 19:44:14

tomcat高并发配置的相关文章

tomcat 高并发配置 与优化

公司的一个服务器使用Tomcat6默认配置,在后台一阵全点击服务器就报废了,查了一下就要是PERMSIZE默认值过小造成(16-64) TOMCAT_HOME/bin/catalina.sh 添加一行:JAVA_OPTS=" -XX:PermSize=64M -XX:MaxPermSize=128m" 问题解决(可能为调用JAR包过多原因)下面是网上看到一些设置 JAVA_OPTS="-server -Xms800m -Xmx800m -XX:PermSize=64M -XX

Tomcat高并发配置优化

用的JMeter在自己电脑上测试的.Ubuntu10.04(x64)内存2G,cpu E5400 主频2.7.jdk1.6.0_27(x64) , tomcat6.0.33(x64) , oracle 10g测试一个条件分页查询,数据库响应时间在0.5秒左右.之前测试第秒100个并发查询,持续1小时,响应时间先是保持在9秒左右,到后来越来越长.以这个配置测试时,200个并发,响应先是在4秒左右,之后越来越快,在1到2秒的时间内可以响应果.我的那项目并发最多也就100个,所以之后的就没有测试了,达

【MySQL优化】MySQL 高并发配置优化基础知识

[MySQL优化]MySQL 高并发配置优化基础知识 MySQL的优化分为两个部分,一是服务器物理硬件的优化,二是MySQL自身(my.cnf)的优化. 一.服务器硬件对MySQL性能的影响 ① 磁盘寻道能力(磁盘I/O),以目前高转速SCSI硬盘(7200转/秒)为例,这种硬盘理论上每秒寻道7200次,这是物理特性决定的,没有办法改变. MySQL每秒钟都在进行大量.复杂的查询操作,对磁盘的读写量可想而知.所以,通常认为磁盘I/O是制约MySQL性能的最大因素之一,对于日均访问量 在100万P

Tomcat + Mysql高并发配置优化

1.Tomcat优化配置 (1)更改Tomcat的catalina.bat 将java变成server模式,增大jvm的内存,在文件开始位置增加 setJAVA_OPTS=-server -Xms1024m -Xmx2048m -Xss512K -XX:PermSize=128m-XX:MaxPermSize=256m setCATALINA_OPTS=-server -Xms512m -Xmx512m 如下图: Xms:初始内存 Xmx:最大内存 (3)更改Tomcat的Server.xml

nginx + php-fpm 高并发配置 (也包括一部分apache/httpd)

fpm用的php.ini下 (/etc/php5/fpm/php.ini),很重要,不改会有安全漏洞. cgi.fix_pathinfo=0 去掉防syn flood攻击 (高并发下会主动堵塞apache请求 导致ab测试下 apr_socket_recv: Connection reset by peer (104)) 参考: http://xmarker.blog.163.com/blog/static/226484057201462263815783/ vi /etc/sysctl.con

nginx 高并发配置参数(转载)

一.一般来说nginx 配置文件中对优化比较有作用的为以下几项: 1.  worker_processes 8; nginx 进程数,建议按照cpu 数目来指定,一般为它的倍数 (如,2个四核的cpu计为8). 2.  worker_cpu_affinity 00000001 0000001000000100 00001000 00010000 00100000 01000000 10000000; 为每个进程分配cpu,上例中将8 个进程分配到8 个cpu,当然可以写多个,或者将一 个进程分配

Nginx高并发配置思路(轻松应对1万并发量)

测试机器为腾讯云服务器1核1G内存,swap分区2G,停用除SSH外的所有服务,仅保留nginx,优化思路主要包括两个层面:系统层面+nginx层面. 一.系统层面 1.调整同时打开文件数量 ulimit -n 20480 2.TCP最大连接数(somaxconn) echo 10000 > /proc/sys/net/core/somaxconn 3.TCP连接立即回收.回用(recycle.reuse) echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse ec

高并发WCF配置

在使用WCF做服务接口时,TCP模式肯定比Http效率高,Binary/MTOM格式的绑定也会Text格式的绑定高效. 两个endpoint,一个用来调试:ms-mex的binding是用来方便WCF调试工具和远程对象应用,另一个是实际工作模式配置:customBinding. 为了提高接口的并发数,特实验custonBinding各个参数对并发的影响,以下配置是目前实验tps较高的参数配置: <system.serviceModel> <services> <service

Tomcat 9.0.26 高并发场景下DeadLock问题排查与修复

本文首发于 vivo互联网技术 微信公众号? 链接:https://mp.weixin.qq.com/s/-OcCDI4L5GR8vVXSYhXJ7w 作者:黄卫兵.陈锦霞 一.Tomcat容器 9.0.26 版本 Deadlock 问题 1.1 问题现象 1.1.1? 发生 Deadlock 的背景 某接口/get.do压测,3分钟后,成功事务数TPS由1W骤降至0. 1.1.2? Tomcat服务器出现大量的CLOSE_WAIT 被压测服务器,出现TCP CLOSE_WAIT状态个数在200