tomcat集群部署并发测试笔记

这段时间项目中要整体改版,其中服务器架构从单机部署改为分布式集群部署(其实就是多了两台tomcat而已),其中遇到的坑很多,自己也是第一次尝试搭建没什么经验,一遍BD一遍自己尝试,现在终于初见眉目 ,压力测试也渐渐提升档次了,赶紧抽空记录一下:

其实我们的环境很简单,两台服务器部署4个tomcat节点,负载采用nginx进行负载均衡:

下面是简单的配置:192.168.1.11,12机器上分别启动端口为8881和8882的两个节点

在http中配置upstream
 # 集群中的所有后台服务器的配置信息
upstream tomcats { 
server 192.168.1.11:8881 weight=10; 
server 192.168.1.11:8882 weight=10; 
server 192.168.1.12:8881 weight=10; 
server 192.168.1.12:8882 weight=10; 


    } 
在nginx 配置的server中配置
location / {
#proxy_redirect on;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://tomcats;
}  


}
这样使用nginx进行负载均衡 ,nginx负载均衡部署很简单  网上有很多好的帖子可以参考

 

环境搭建完之后测试开始进行压力测试,一开始3000/s并发成功率不足五成,没办法继续找可优化点,最后锁定tomcat优化配置

从apache官网搜索加上网上帖子的查阅最后决定connectors使用apr 这种运行模式来运行Tomact,

于是百度帖子来进行部署(参考原帖:http://blog.csdn.net/super_marioli/article/details/27240639) 进行部署安装

官网http://apr.apache.org/下载 

apr-1.4.2.tar.gz 
apr-iconv-1.2.1.tar.gz 
apr-util-1.3.10.tar.gz 

和tomcat-native-1.1.34-src.tar.gz

安装过程很简单(我也是从网上找来的)

1)安装apr 
tar zxvf apr-1.4.2.tar 
cd apr-1.4.2 
./configure --prefix=/usr/local/apr 
make 
make install 

2)安装apr-iconv 
程序代码 
tar -zxvf apr-iconv-1.2.1.tar.gz 
cd apr-iconv-1.2.1 
./configure --prefix=/usr/local/apr-iconv --with-apr=/usr/local/apr 
make 
make install 

3)安装apr-util 
程序代码 
tar zxvf apr-util-1.3.10.tar.gz 
cd apr-util-1.3.10 
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr --with-apr-iconv=/usr/local/apr-iconv/bin/apriconv 
make 
make install 

4)安装tomcat-native 
程序代码 
tar zxvf tomcat-native-1.1.20-src.tar.gz 
cd tomcat-native-1.1.20-src/jni/native   
./configure --with-apr=/usr/local/apr --with-java-home=/usr/local/jdk1.8.0_51
make 
make install 

5)添加环境变量 
vi /etc/profile #在他文件末尾处添加下面的变量 
# apr 
export LD_LIBRARY_PATH=/usr/local/apr/lib 
执行 
source /etc/profile 
此时环境变量生效果 

安装完毕之后 配置tomcat /conf/server.xml  的connector

 <Connector port="8881" protocol="org.apache.coyote.http11.Http11AprProtocol"
                connectionTimeout="30000"
               redirectPort="8443" 
 maxThreads="5000"     
 minSpareThreads="1000"     
 maxSpareThreads="5000"   
 acceptCount="2500"
 enableLookups="false" />

之后启动tomcat,最后看到04-Mar-2016 19:33:30.798 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded APR based Apache Tomcat Native library 1.1.34 using APR version 1.5.2.

说明加载成功了,据官网描述apr的运行模式比其他的nio模式性能还高,

 

部署成功之后 重新启动测试 OK了

》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

期间遇到很多不是很懂的问题  比如请求并发太多 造成Linux文件句柄不足以及其他一些原因导致请求被拒绝或者被重置等情况;

Linux文件句柄的问题  最终配置:/etc/sysctl.conf
fs.file-max = 6553560
/etc/security/limits.conf
soft nofile 655350
hard nofile 655350


ulimit -n 655350
/***************************/
ulimit -Hn 655350
ulimit -Sn 655350

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农小李子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值