我在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。
[quote]Google资料说“如果要加大并发连接数,应同时加大这两个参数。web server允许的最大连接数还受制于操作系统的内核参数设置,通常Windows是2000个左右,Linux是1000个左右。”[/quote]
2、 增加tomcat启动初始内存设置;catalina.sh – 增加了参数内存设置
增加设置
JAVA_OPTS="-server -Xms2048M -Xmx2048M -Xss128k -XX:+AggressiveOpts -XX:+UseParallelGC  -XX:+UseBiasedLocking"

增加了JVM初始分配的内存
资料:[quote] Heap Size 最大不要超过可用物理内存的80%,一般的要将-Xms和-Xmx选项设置为相同
堆内存分配
JVM初始分配的内存由-Xms指定,默认是物理内存的1/64;JVM最大分配的内存由-Xmx指定,默认是物理内存的1/4。默认空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制;空余堆内存大于70%时,JVM会减少堆直到-Xms的最小限制。因此服务器一般设置-Xms、-Xmx相等以避免在每次GC 后调整堆的大小。
非堆内存分配
JVM使用-XX:PermSize设置非堆内存初始值,默认是物理内存的1/64;由XX:MaxPermSize设置最大非堆内存的大小,默认是物理内存的1/4。
JVM内存限制(最大值)
首先JVM内存限制于实际的最大物理内存(废话!呵呵),假设物理内存无限大的话,JVM内存的最大值跟操作系统有很大的关系。简单的说就32位处理器虽然可控内存空间有4GB,但是具体的操作系统会给一个限制,这个限制一般是2GB-3GB(一般来说Windows系统下为1.5G-2G,Linux系统下为2G-3G),而64bit以上的处理器就不会有限制了。[/quote]
3、 响应处理的servlet在系统启动时进行初始化,修改servlet load-on-strartup数值,可设0、1、2、3,值小的先初始化;
4、 修改linux系统资源数目的限制
a) ulimit -a 查看系统目前资源限制的设定。-- 可以看到默认1024
b) 大家可以看看这个帖子[url]http://www.iteye.com/topic/65175[/url]
c)
我的修改方法是在文件/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" />


以上是我所做的配置,有不合理或者还未做到的优化操作,还希望能够提出来;
对系统的并发其实还是有很多不理解的地方,欢迎讨论。
谢谢。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值