最大并发数以及性能调优

背景:系统当前在windows的tomcat下并发数,经loadrunner测试,不到100并发..
机器配置:Lenovo thinkpad t400 RA9
web容器: Apache Tomcat 5.5
优化后:经loadrunner测试,并发数可到800

主要进行了三部分的性能调优
一,Tomcat 的内存设置

主要通过修改CATALINA_OPTS 这个数值进行调优.
此数值在tomcat/bin/路径下的 catalina.bat或.sh文件中
此处有两种方式进行优化
1.直接在文件中添加 CATALIN_OPTS=-Xms512m -Xmx1024m
2.在环境变量中添加 CATALINA_OPTS ,键值为 -Xms512m -Xmx1024m
说明:对于tomcat的内存调优,是因为tomcat默认情况下使用128m(也有说64m),当请求并发量足够大的时候,这么少的内存自然是不够用的.而tomcat是使用jvm的,则想到了增加tomcat的内存.

二,Tomcat 的连接数的设置

主要修改了server.xml 文件中的参数

<Connector port="8080" maxHttpHeaderSize="8192"

               maxThreads="1500" minSpareThreads="1000" maxSpareThreads="1200"

               enableLookups="false" redirectPort="8443" acceptCount="1500"

               connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8"/>


将最大的线程数,可接受连接数,以及初始创建线程数进行调整.同时停止dns解析功能.
这样可以较大程度的提升并发性能.

三,程序本身的优化

1,将许多非静态并且被频繁用到的资源静态化,采用static方式,尽量的减少读写文件等操作
2,将jsp页面静态化


总结: 经过上述的优化措施,系统的并发性能得到了显著提升,这也是根据项目的不同而不同的,由于我的项目过于依赖内存,因此在调整完tomcat的内存大小后,性能就得到了显著提高,同时修改掉多处频繁调用的I/O操作之后,减少了很多并发时候的exception.


ps:本系统的性能瓶颈在于内存.故提升较大.并不能说明,仅调整内存就可像我的系统一样,并发从100提升到800.这仅仅是一个调优的措施而已.



你可能感兴趣的:(jvm,tomcat,windows,jsp,loadrunner)