apache http server2.2 + tomcat5.5 性能调优
httpd加tomcat做负载均衡,采用session复制方式共享session,采用http-proxy连接方式,打开status mod
一、没有做httpd和tomcat的启动参数修改,包括jvm内存和连接数限制的修改
用ab测试:-n2650 -c265 http://localhost/test/page1.html。没有问题,吞吐量为290kb左右。
再测试:-n2660 -c266 http://localhost/test/page1.html。
报错:
Completed 266 requests
Test aborted after 10 failures
apr_socket_connect(): 由于目标机器积极拒绝,无法连接。
(730061)
Total of 448 requests completed
估计是httpd默认最大线程数是265。
二、调整httpd的httpd.conf里的参数,找到#Include conf/extra/httpd-mpm.conf,将其注释去掉,引入mpm_winnt_module来做MPM,将httpd-mpm.conf中mpm_winnt_module里的参数调整为:
ThreadsPerChild 1920
MaxRequestsPerChild 0
注意,一般windows系统每个进程可以启动的最大线程数为1920个,也就是ThreadsPerChild最大值为1920。测试结果可以支持到1000个并发,吞吐量为200kb左右。1200个并发系统报错:
到目前为止还没找到可以支持1200个并发以上的方法。。。。
三、对两个tomcat jvm参数进行设置,min 480m, max 480m
结果可以支持1000个并发,吞吐量还是200kb左右。
附:tomcat配置文件中连接参数:
maxThreads="600" ///最大线程数
minSpareThreads="100"///初始化时创建的线程数
maxSpareThreads="500"///一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。
acceptCount="700"//指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理
最新文章
- Effective C++ -----条款55:让自己熟悉Boost
- PMP 第十一章 项目风险管理
- 装个centos虚拟机之设置桥接网络
- SecureCRT相关
- android下身份验证方式调用webservice
- Qt之QTableView添加复选框(QAbstractItemDelegate)
- CSharp - Comparison between IComparer and IComparable
- $.Event 你不知道的用法
- Angular form
- Jmeter接口压力测试
- CDN,你了解多少?
- sql server 阻塞查询
- stop_token.go
- 关于spring aop Advisor排序问题
- ES6 块级作用域
- frame与iframe的区别及基本用法
- Linux - 文件和目录
- libnids使用 (转)
- 运行vue项目--安装vue脚手架vue cli
- Python学习-23.Python中的函数——isinstance