性能测试常见问题及瓶颈判断分析

1.录制登录脚本后回放,结果失败
登录中为了安全,一般会对密码进行加密,查看录制的脚本中密码是否加密,如果是加密信息,有两种解决:一个是让开发修改应用,使用明码;一个是开发修改应用不做密码验证,脚本输入任何密码都通过。

2.增加并发后,TPS基本没有变化,应用和数据库的CPU也都消耗不高
可以先选择一个非登录的交易,最好是查询类交易,做1并发、5并发、10并发,试运行5分钟查看平均响应时间和TPS,如果TPS从5到10并发基本没有变化,应用和数据库的CPU也没大的变化,只是平均响应时间翻倍增加,那么基本可以确定是连接的限制问题,需要让开发查看三个连接数的设置:一个是应用允许的连接数;一个是连接池的限制;一个是数据库允许的连接限制。
切记:一定跟开发确认关闭日志或者为error级别,否则也会存在TPS很低。

3.数据库瓶颈判断
在少量并发,比如10并发左右,应用服务器cpu基本没消耗,但数据库的cpu却消耗非常高,一般是数据库问题,常见的是索引或者大量的order by以及group yu语句,需要开发修改。
一般的机器配置cpu为8C,足够支持50以上的并发。

4.应用问题判断
通常的软件设计,最后的资源消耗是在数据库,所以如果是在低并发(10user)应用的消耗非常高,但数据库却很低,说明是应用存在问题,需要开发介入查找。

5.压力机是win7的特殊限制
如果压力机是win7,那么默认的win7允许的连接是5个,所以需要通过工具修改半连接数的限制。而windonws server则没有这个问题。

6.磁盘瓶颈的判断
在linux中,通过iostat命令可以查看磁盘的一些数据,如果Pages Read/sec很低,同时%Disk Time和Average Disk Queue Length的值很高,即磁盘非常繁忙但实际读取的数据却很少,说明磁盘性能低,大量的数据等待磁盘读取,磁盘存在瓶颈。

7.内存的瓶颈判断
在linux中,通过top或free命令查看到内存的一些数据,在swap项,如果used使用的很多,而free很少,说明大量数据需要从磁盘读取而不是内存读取,这样初步可以判断是内存不够。

8.内存泄漏判断
在linux中,通过top命令查看到内存的一些数据,如果available mem非常少,比如只有几十兆,说明可能有程序没有释放内存。如果这个数值在逐渐的减少,说明是内存泄漏。

9.数据库锁的判断
1个用户tps到5个用户tps到10个用户tps基本没有变化,应该是数据库有锁,导致是串行交易,查看脚本是否对单账户操作,或者应用是不是单账户操作。

10.判断应用服务器的连接数
可以在应用服务器端运行脚本的时候执行下列命令,查看系统是否有很多的“TIME_WAIT”,如果有近万的等待说明问题出在应用端,当然只是几百个就可以忽略了。
命令:ps –ef | grep “TIME_WAIT” |wc –l ;

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值