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