tomcat6性能优化

Zilla 2012-09-28 09:07:08
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"/>


...全文
251 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hheeyyii 2012-09-29
  • 打赏
  • 举报
回复
"但当并一个业务流程时,并发只有个位数"

查一下代码,不是tomcat问题,可能是你代码问题,
特别是后台各种锁,比如程序里的锁,数据库的行锁。
  • 打赏
  • 举报
回复
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 值什么
Zilla 2012-09-28
  • 打赏
  • 举报
回复
忘记了,我的服务器配置:
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

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧