zoukankan      html  css  js  c++  java
  • 压力测试与系统调优

      最近用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"/>
  • 相关阅读:
    supervisorctl的安装使用
    react应用多入口配置
    百度编辑器
    formData文件上传
    thymeleaf的内联th:inline(在javascript访问model中的数据)
    浅谈Object.prototype.toString.call()方法
    JS中call()和apply()以及bind()的区别
    Json对象与Json字符串的转化
    全面解析JavaScript中“&&”和“||”操作符(总结篇)
    TortoiseSVN客户端重新设置用户名和密码
  • 原文地址:https://www.cnblogs.com/hainange/p/6153115.html
Copyright © 2011-2022 走看看