a) 打压过程:
打压过程并不是放那里不管,通过linux系统提供的命令,需要时刻关注被测服务器的性能指标,结合LoadRunner场景的曲线来动态判断是否存在瓶颈。LoadRunner场景曲线主要关注HPS、TPS、responsetime。服务端主要监控cpu、内存、磁盘IO、网络IO。然后从这几方面再层层深入查找问题。另外,值得强调的是,打压过程不仅需要关注被测服务器的指标,也需要关注打压agent的性能指标是否正常。比如说如果并发数一直上不去,可能是打压机本上连接数受限导致的。也可能是打压机自己出口带宽满了导致的。
b) 问题定位&修改优化&回归:
i. 问题定位是一个比较考验个人综合技术能力的地方。也是整个性能测试的核心所在。需要强调的是,不是看到某个参数遇到问题了,就直接可以断定服务区的瓶颈就在这个地方。比如:
· 大量的页调入请求导致内存队列的拥塞
· 网卡的大吞吐量可能导致更多的CPU开销
· 大量的CPU开销又会尝试更多的内存使用请求
· 大量来自内存的磁盘写请求可能导致更多的CPU以及IO问题
ii. 具体是哪个部分的问题,需要再根据具体的逻辑实现和推断来逐步缩小范围。主要的过程可以参考一下步骤层层深入。服务器硬件瓶颈-〉网络瓶颈(对局域网,可以不考虑)-〉服务器操作系统瓶颈(参数配置)-〉中间件瓶颈(参数配置,数据库,web服务器等)-〉应用瓶颈(SQL语句、数据库设计、业务逻辑、算法等)注:以上过程并不是每个分析中都需要的,要根据测试目的和要求来确定分析的深度。对一些要求低的,我们分析到应用系统在将来大的负载压力(并发用户数、数据量)下,系统的硬件瓶颈在哪儿就够了。
iii. 最后就是开发优化,测试回归,这里需要强调一点:测试回归时,如果开发优化时修改了功能逻辑,则需要根据改动回归功能逻辑是否正常。不能只盯在性能指标满足了就OK了。
性能测试流程之打压调优篇
发表于:2017-02-20
作者:曹承臻
来源:
- 周排行
- 月排行
-   软件测试之异常测试
-   MongoDB大数据高并发读写性能测试报告
-   可靠性测试教程:优秀实践综合指南
-   可靠性测试的基础知识——软件可靠性测试
-   压力测试如何准备数据?思路来了!
-   性能测试准入准出规范
-   性能测试常见术语浅析
-   Docker容器网络性能测试和调优策略
-   软件测试之异常测试
-   如何使用k6做性能测试
-   性能测试准入准出规范
-   稳定性测试怎么做,这篇文章彻底讲透了!
-   干货|性能测试模型初探及应用方法分析
-   可靠性测试教程:优秀实践综合指南