友善交流技术...

造成TPS波动的原因分析

上一篇 / 下一篇  2015-02-06 22:22:14 / 个人分类:性能测试专题

测试中遇到谁多的TPS波动的问题下面将经验分享一下

1. 有规律的波动,这样的问题,可能原因如下

  (1)程序代码的原因:
   如30分钟将重构一次索引,就有可能造成这个时间点的波动,当时测试一个项目,java-lucene, 全文检索,就出现这样的问题,当时的问题是由于内存不足造成的异常波动 ;
    定时执行脚本任务,造成的有规律波动.
    业务规则造成的波动 ,比如一秒只接受10个请求,其它请求拒绝. 

   (2)日志输出造成的波动 : 
   
   有时间有规律的小幅度波动,可能是日志写硬盘造成的,可以结合**的结果I/O 使用情况与分析波动的关系.

    (3)redis持久化造成的波动 :  
  
    持久化时,会将内存的数据写入硬盘中,这时如果很有规律的波动,也有可能是redis 有规律的写入硬盘造成硬盘那个点无法提供服务造成的波动.

 2. 无规律波动可能原因

    (1)网络造成的波动:

    网络不稳定造成的波动,也是不太好排的,不过loadrunner提供接口下载的时间,可以分析网络的原因

    (2)本地打开thinktime 时间 造成的异常波动 

      loadrunner打开thinktime造成的异常波动 

     (3)本地写日志
     在测试时,如果loadrunner打开本地写日志,本地硬盘如果性能不太好,可能会造成波动 . 这个问题已经遇到过了,害的我折腾了两天的时间才搞定这个问题.

     (4)部分服务器down了

     测试中发现线上一台服务器处于假死状态,这时候造成了请求异常. 不过一般这样的错误都是链接失败之类的,还是比较好分析出来的

     (5)服务器假死
     运行一个时间后,处于假死状态,这时候,可能所有的请求都会失败的...
     线程死锁也有可能会造成 所有的请求等待的问题. 
 
     (6) 黑白名单的问题
  
       IP请求次数过多,造成访问的异常;
       一个用户1秒请求次数太多

 上面的问题都有可能会造成波动.... 在测试中要一个个的排除来,很难的,最好先与开发多沟通... 有时间问题就定位了.
        

TAG:

 

评分:0

我来说两句

Open Toolbar