我在linux系统下web系统、tomcat6、jdk1.6所做的优化-并发,希望和大家讨论
在部署系统后,为了增加系统并发量,系统响应速度,做了一些工作;但是有些概念也不是很清楚,遂整理如下,希望各位大虾们可以指点一二。
本人使用jdk6.0、tomcat6.0
1、修改tomcat server.xml参数设置
<Connector port="80" protocol="HTTP/1.1" maxHttpHeaderSize="8192" maxThreads="1000" minSpareThreads="75" maxSpareThreads="300" enableLookups="false" redirectPort="8443" acceptCount="200" connectionTimeout="50000" disableUploadTimeout="true"/>
主要修改了maxThreads、acceptCount。
JAVA_OPTS="-server -Xms2048M -Xmx2048M -Xss128k -XX:+AggressiveOpts -XX:+UseParallelGC -XX:+UseBiasedLocking"
增加了JVM初始分配的内存
资料:我的修改方法是在文件/etc/security/limits.conf中增加行* - nofile 57766
5、更改oracle连接数最大值,这个可找对应DBA搞定;
6、上面是开始后做的操作,后来又使用了tomcat5.5 、 tomcat6中提供的连接池功能
Server.xml
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="1000" minSpareThreads="75" maxSpareThreads="300" acceptCount="200"/><Connector executor="tomcatThreadPool" port="80" protocol="HTTP/1.1" connectionTimeout="30000" redirectPort="8443" />
以上是我所做的配置,有不合理或者还未做到的优化操作,还希望能够提出来;
对系统的并发其实还是有很多不理解的地方,欢迎讨论。
谢谢。这个是不是有问题,虽然32位系统寻址空间4G,但是记得虚拟机最多1.4左右,不是越大越好,GC的时间也会很长,新区和老区,永久区要有一定比例,另外,原来看过一篇文章,说不用一定要加-server模式,加了未必性能一定有提高,你测试结果如何? 7 楼 sdh5724 2008-12-24 -server纯粹是内纯行为, SERVER是不需要关心整个系统内存的. 因此, -server是必要的.