32ew 发表于 2014-11-10 08:24:59

Tomcat性能优化

1.    线程优化
<Connector port=”8080”protocol=”HTTP/1.1” 添加:    maxThreads=”600”    minSpareThreads=”100”    maxSpareThreads=”500”    acceptCount=”700” 当所有的线程数被占用的时候,会允许700个请求在排列在处理队列中。    connnectionTimeout=”40000”    redirectPort=”8443”/>
maxThreads=”600” 可产生的最大线程数    minSpareThreads=”100” 初始化线程数    maxSpareThreads=”500” 一旦创建的线程数多于这个数,tomcat就会关闭不在需要的socket连接。    acceptCount=”700” 当所有的线程数被占用的时候,会允许700个请求在排列在处理队列中。    connnectionTimeout=”40000”       redirectPort=”8443”
2.    内存优化
解决tomcat内存溢出:常遇到的错误:      1.OutOfMemoryError: Java heap space(java堆空间)
      2.OutOfMemoryError: PermGen space(全称permanent generation sopace永久性保护区域)
      3.OutOfMemoryError: unable to create new native thread.

前两个和JVM虚拟机有关系,第三个和tomcat、系统本身有关系。

第一种:堆溢出
和-Xms 、-Xmx两个参数有关。-Xms:初始化内存堆大小-Xmx:设置较大可用内存堆解决:JAVA_OPTS=” –server -Xms=1024m –Xmx=1024m”增大-Xmx的大小。
第二种:永久保护区
    和-permsize、-maxpermsize
   -XX:permsize保护区初始化大小
   -XX:maxpersize:保护区最大大小
   这两条要结合第一种解决方法使用:
JAVA_OPTS=” –server -Xms=1024m –Xmx=1024m –XX:permsize=128m -XX:maxnewsize=256m –XX:maxpermsize=256m”
第三种情况:比较少见

页: [1]
查看完整版本: Tomcat性能优化