当前位置:编程学习 > JAVA >>

tomcat6性能优化

tomcat6如何优化呢?
我的tomcat如果单跑一个JSP,2000并发10内完成,但当并一个业务流程时,并发只有个位数.很悲催.
现在遇到的问题时,我的一个业务流程需要多次请求过程,并发测试中,一个业务流程往往执行一半就停止了.我想问下,如何解决这种问题,有什么好的办法吗?或者从什么的思路开始性能优化.
我的配置如下:
tomcat catalina.sh:JAVA_OPTS="-Xms1024m -Xmx1536m -XX:MaxPermSize=512m"
tomcat server.xml:

<Connector
    port="80"
    protocol="org.apache.coyote.http11.Http11NioProtocol"
    executor="tomcatThreadPool"
    maxHttpHeaderSize="8192"
    useBodyEncodingForURI="true"
    maxThreads="1000"
    enableLookups="false"
    redirectPort="443"
    acceptCount="100"
    compression="on"
    compressionMinSize="2048"
    compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"
    connectionTimeout="20000"
    disableUploadTimeout="true"
    URIEncoding="UTF-8"/>


--------------------编程问答-------------------- 忘记了,我的服务器配置:
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 23
model name      : Intel(R) Core(TM)2 CPU         E7400  @ 2.80GHz
stepping        : 10
cpu MHz         : 2793.357
cache size      : 3072 KB

--------------------------------------------------------------------
processor       : 1
vendor_id       : GenuineIntel
cpu family      : 6
model           : 23
model name      : Intel(R) Core(TM)2 CPU         E7400  @ 2.80GHz
stepping        : 10
cpu MHz         : 2793.357
cache size      : 3072 KB
physical id     : 0
siblings        : 2
core id         : 1
cpu cores       : 2
--------------------编程问答-------------------- JDK 中的 jmap, jstat, jconsole, jvisualvm 工具,或者是 jmap dump 分析工具 MAT

先从 HotSpot 的调优开始,看一下垃圾回收状态:

jstat -gccause <PID> 1s 1000

<PID> 是你 tomcat 启动后的进程号;1s 表示每秒显示一条数据,1000 表示一共执行 1000 次

jmap -heap <PID> 查看当前 JVM 各种内存占用情况

最好再使用 top 看一下各种的 load 值什么 --------------------编程问答-------------------- "但当并一个业务流程时,并发只有个位数"

查一下代码,不是tomcat问题,可能是你代码问题,
特别是后台各种锁,比如程序里的锁,数据库的行锁。
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,