书到用时方恨少

性能测试-经历01

上一篇 / 下一篇  2007-09-28 14:46:26 / 个人分类:性能测试

 一般情况下,我会把应用服务器和数据库服务器搭建在同一机器上。

    几天前的测试环境搭建也不例外。

   
    快下班的时候,老板说要做一下性能测试

  
   
    当时我只注意的环境是:

    服务器:tomcat-6.0.13

    数据库:mysql5.0

    操作系统:CentOS 4

 
   所知道的要素:

      1:tomcat的优化:将maxThreads设置成100

    然后将数据库的maxActive分别设置:15,20,25 。

      2:需要测试的有三个地方:首页、电影分类、单个电影

      3:测试持续时间为5分钟,虚拟用户为100个

   期望结果:
    
      根据不同的数据库maxActive值,在条件3相同的情况下,对比哪种的测试结果的性能比较好。


 
   这个相对来说比较简单,在很快的时间我就录制好了三个需要测试的脚本, 在运行脚本的时候,

   遇到的问题:LoadRunner的关联

   解决方法:http://www.51testing.com/?58025/action_viewspace_itemid_44330.html

 

   得到的结果是:

    在数据库maxActive值为20时,首页、电影分类、单个电影等测试结果的性能最好。

   判断的要素:

   吞吐量、点击量、平均响应时间

   分析的方法:

     在测试持续时间和虚拟用户都相同的情况下,比较不同maxActive值时,所得到的吞吐量、点击量、平均响应时间,

   如果吞吐量和点击量都比其他两种情况下要大,而且平均响应时间比其他两种情况下要低,则其性能比较好!


  做到这里,我已经很明确在哪种配置下得到的性能比较好,下一步要做的是,就是弄清楚到底是什么影响了性能?

  是应用服务器,还是数据库服务器,还是操作系统呢?


  接下来我想先对应用服务器进行优化,

   具体情况请查看:http://www.51testing.com/?58025/action_viewspace_itemid_61154.html

 然后在:

   所知道的要素:

    1:tomcat的优化:将maxThreads设置成100
       数据库的maxActive设置:20

    2:需要测试的有三个地方:首页、电影分类、单个电影

    3:测试持续时间为5分钟,虚拟用户为100个

 
   期望结果:
    
      对比在没有安装apr之前的测试结果和已安装了apr之后,对比哪种的测试结果的性能比较好。

  得到的结果:
   
      在安装apr之前和安装apr之后,没有明显的变化,所以排除应用服务器的问题。(虽然比较粗,但目前水平有限也只能做到这样了)


 接下来就要找出是数据库服务器,还是操作系统的性能有问题了。

   第一步:将应用服务器和数据库服务器分开

    我把数据库服务器从CentOS 4 移到了WINDOWS XP 下。

   第二步:分别监控两台机器
   
    遇到的问题:如何监控呢?
   
    解决方法:http://www.51testing.com/?58025/action_viewspace_itemid_44676.html
             http://www.51testing.com/?58025/action_viewspace_itemid_44562.html

   第三部:确定在运行脚本,需要监控哪些计数器

   1: 监控两台机器的CPU使用情况
   2:吞吐量、点击量、平均响应时间和成功率

  期望结果:
     对比应用服务器和数据库服务器没有分开之前的测试结果和分开之后的测试结果哪种性能比较好。

  得到的结果:
    1:CentOS 4 这台机器的CPU使用率在两次运行中一直居高不下。
    2:首页在应用服务器和数据服务器分开之后,吞吐量和点击量高了很多,并且平均响应时间也少了很多
    3:单个电影的吞吐量和点击量都比以前有所提高,但平均响应时间却没有降低。
    4:电影分类的吞吐率,点击率和平均响应时间都没有什么变化。

  分析结果:
    1: 根据两次性能测试结果:CentOS 4 这台机器的处理器存在着瓶颈,需要增加处理器来提高性能

    2: 首页没有使用到数据库的查询,而电影分类中使用到数据库查询比较多,所以初步分析数据库的性能存在着问题,需要做进一步的优化。
        由于MYSQL5.1版本中支持了分区,建议开发人员使用分区技术
   

 参考指标:  
 度量 指标    问题
 cpu 95%以上  瓶颈
 80-85% 最大上限
 70%以下 正常


    本次测试中欠缺的是:对数据库服务器的监控。

    期望提高的是:对操作系统的监控,进一步分析出问题所在,
                 对数据库服务器的监控,给出明确点优化意见


   写在这里,不知道我这样做性能测试的方法对不对,还希望看过此文章的朋友给出意见和建议。


TAG: 性能测试

歆然 引用 删除 lizhm   /   2007-10-16 18:28:36
同意
今天重新做了一次测试(开发人员修改了查询数据库语句),发现平均响应时间在10秒以内了,而且吞吐量和点击量都有很大提交。

由于第一次做性能测试,在摸索过程中犯了些很常规的错误,希望大家注意哦!
引用 删除 you力   /   2007-10-15 13:59:56
看了一下,收益还是很大的,不过数据库的一些性能问题,不一定是数据库本身的设置问题,比如,有的是开发人员的连接数据库的语句执行有性能问题,另外,要测的话,前提,就是要web与数据库的要分开,这样才跟现在架构相似.,MYSQL在他的储量变的越来越大时,性能变化很明显的.
 

评分:0

我来说两句

Open Toolbar