2008-05-04

压力测试与系统调优

关键字: 测试 loadrunner jconsole

       最近用loadrunner对开发的系统进行了压力测试,考察系统的性能,是否可以应对客户的需要,并通过jconsole监控应用系统的各项技术指标数据,进面对系统参数进行了优化。

      1、 对Web应用服务器端的性能监视可以使用JDK5版以后自带的监控软件JConsole,可以满足简单的性能监控需要,我的服务端的环境为window + jdk 6 + tomcat 6 + mysql,为了能够监控Tomcat服务器的运行性能,需要在批处理文件catalina.bat中加入以下设置:

 
set JAVA_OPTS=%JAVA_OPTS% -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port="9004" -Dcom.sun.management.jmxremote.authenticate="false" -Dcom.sun.management.jmxremote.ssl="false"

 

        2、Tomcat服务器启动以后,然后启动JConsole,就新建连接中的本地进程中的tomcat的启动进程,选择后点连接按钮:

 

      3、 LoadRunner的设置可以查看我的另一文章:通过压力测试排查Bug(一)--测试过程

      4、一个测试实例,以下是LoadRunner的测试图示与对应的服务端性能监控图示:

 

 

 

 

 

5、通过监控服务器信息,进行了系统参数的优化:

        首先优化了Java VM参数:

  

JAVA_OPTS=-server -Xms150m -Xmx220m -Xss128k -XX:MaxNewSize=256m -XX:PermSize=64M -XX:MaxPermSize=256m

 

         原来设置为"-Xms512m -Xmx768m",现在看来没有必要设置如此之高,如上设置即可,同时垃圾回收更及时了。

         再就是优化了Tomcat的线程池启设置,配置在server.xml文件中,对以下几个参数进行具体的调整:

 

maxThreads:Tomcat可创建的最大线程数;

acceptCount:如果当前可用线程数为0,则将请求放入处理队列中。这个值限定了请求队列的大小,超过这个数值的请求将不予处理。

connectionTimeout:网络连接超时数,单位毫秒。

minSpareThreads:如果当前没有空闲线程,且没有超过maxThreads,一次性创建的空闲线程数量。Tomcat初始化时创建的线程数量也由此值设置。

maxSpareThreads:一旦创建的线程超过此数值,Tomcat会关闭不再需要的线程。

线程数可以大致上用 “同时在线人数*每秒用户操作次数*系统平均操作时间” 来计算。

 

具体设置如下:

 

<Connector port="80" maxThreads="256" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8"/>

 

 

 

  • 59435d3a-8bf0-35e0-a77c-d93bd4056334-thumb
  • 描述: JConsole启动后连接到tomcat
  • 大小: 30.1 KB
  • 1fa9fe0c-f9da-3042-b30a-437c561b9f32-thumb
  • 描述: LoadRunner的测试图示
  • 大小: 125.9 KB
  • 3f4541f3-55a1-32e2-b4f7-4a4acaea4170-thumb
  • 描述: 服务端性能监控图示
  • 大小: 110.6 KB
评论
发表评论

您还没有登录,请登录后发表评论

jacally
搜索本博客
我的相册
5225c084-f830-3bfb-89b4-e391c07b2221-thumb
flexlib6-1.jpg
共 27 张
最近加入圈子
存档
最新评论