性能测试结果分析

压力过程如果没有瓶径当然是完美。所为没有瓶径就是达到了预期的性能需求。而各服务器资源都在合理状态。如果出现瓶径大体有以下表现:
1,没有达到需求,而服务器资源已经用完
2,随着并发用户数的增加,每秒处理的事物不增加或者服务器资源也没提高
3,服务器资源很低,但响应时间较慢
等等表现形式很多,还要跟据具体系统判断。那么如何去判断瓶径可能出现的地方呢?
1,确认客户端本机正常。也就是压力机首先资源没有被占满,比如cpu,网络。也就是说证明确实发出去了有效的请求。如果cpu已经占满了,那就需要增加客户端了。多台同时加压。如果网卡带宽占满了,那就需要调换机器了,或者在loadrunner中把下载资源的选项去掉(不过有的时候去掉这个会认为请求没成功,压js页面比较常见)。所以像前面说的要使用千兆交换机和服务器(非台式机)进行压力测试。

2,客户端瓶径排除后,可以直接观察服务器资源情况。windows就不说了,linux下常用的命令top查看cpu和load average   wa 等状态。iostat 查看await  svctm  %util磁盘状态。
当cpu<30%时我们制定为正常负载,当cpu在70%左右时为高峰负载。观察不同的服务器要注重不同的性能指标,比如web服务器看程序进程,缓存服务器看内存和swap。文件服务器和数据库服务器看磁盘状态。当并发用户不断增加,而服务器资源不涨的情况下,有可能是程序进程数(php/java)开的不够或最大链接数设置太小,如果有队列,还要考虑队列进程是否够用,是否都在排队。还可以通过慢查询日志等手段查看是否有执行过慢的sql语句。如果这些都没问题,可以让开发去找程序瓶径调优了。

综上所述,做好性能测试除了工具的使用外,还要懂得运维知识和开发知识。所以说调优也不单一是测试工程师的事。工具只是一个辅助,不要认为会用loadrunner就叫性能测试了,其实开发人员自己写压力工具也是一样的道理,只是各尽其职而已。在拿到性能测试任务后,先问清楚需求和拿到系统架构图。压力无非就是两个途径产生,读数据和写数据。读或写都涉及到哪些服务,如何去监控这些服务,这些服务的配置文件在哪里,调整哪些参数会有什么样的效果。这些都清楚了,做性能测试就容易多了。另外做测试报告时要注可追溯性和可比性。这样的报告才具有长期价值。

阅读更多
个人分类: 性能测试
上一篇性能测试场景设计
下一篇loadrunner采集linux计数器解释
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭