我正试图在ec2上的win2003服务器上运行Tomcat 7上由Apache 2.2前端的LoadUI Load测试。当我尝试在Load测试中增加用户时,我不断得到套接字超时错误。当前同步运行20个用户时失败。服务器完全没有响应
-Xmx1024m,-XX:MaxPermSize=128m
我在tomcat的server.xml中使用了以下内容:
maxThreads="250",connectionTimeout="20000
服务器显示100%的CPU使用率,但不是全部的堆使用率。
我的下一步是尝试使用
maxThreads="250",connectionTimeout="60000",acceptCount="250",maxkeepAliverequest="1"
我在Apache上设置了httpd.conf:
keepAlive on, ThreadsPerChild 250, MaxRequestsPerChild 0
来自jdk1.6的jvisualvm.exe和来自GUI的堆转储是一个巨大的帮助。堆转储下的支配树和它下面最大的对象最终指向内存泄漏。我还使用Eclipse MAT来有效地查看堆转储。
我还将maxThreads减少到200以减少CPU消耗,并将acceptCount队列增加到500。