性能测试必知必会

说到性能测试,我们到底是想谈论什么?

性能测试的目标一般是期望支持的目标用户数量,负载,QPS等等,这些信息一般可以从业务负责人或者产品经理处获得。当然如果有实际的业务数据支持,也可以据此分析得出。所以在开展性能测试之前,一定要先搞清楚测试目标。

理想很丰满,现实很骨感。实际产品的性能与开发周期,部署方式,软硬件性能等都息息相关。所以真正提到做性能测试的场景,多数是为满足特定需求而进行的度量或调优。

目标明确之后,如何开展性能测试?

有了性能测试目标,之后还需要进一步拆解,做到具体可执行。根据经验,个人认为性能测试的执行,最终会落地到以下两个场景:

在特定硬件条件,特定部署架构下,测试系统的最大性能表现
在相同场景,相同硬件配置下,与竞品比较,与过往分析,总结出优劣

服务端性能测试到底要看哪些指标?

不同的领域,业务形态,可能关注的性能指标是不一样的,所以为了表述精确,我们这里只谈服务端的性能测试指标。

一般我们会用以下指标来衡量被测业务: QPS, 响应时间(Latency), 成功率,吞吐率,以及服务端的资源利用率(CPU/Memory/IOPS/句柄等)。
响应时间不要用平均值,要用百分值。比如常见的,98值(98th percentile)表示。
成功率是性能数据采集标准的前提,在成功率不足的情况下,其他的性能数据是没意义的(当然这时候可以基于失败请求来分析性能瓶颈)。
单独说QPS不够精确,而应结合响应时间综合来看。比如 “在响应时间TP98都小于100ms情况下,系统可以达到10000qps” 这才有意义。
性能测试一定要持续一定时间,在确保被测业务稳定的情况下,测出的数据才有意义。
要多体会下这些常识,实战中很多新手对这块理解不深,导致有时出的性能数据基本是无效的。

jmeter, ab, wrk, lotust, k6 这么多性能测试工具,我应该选择哪个?

jmeter: 主要提供图形化操作以及录制功能,入门简单,功能也较强大。缺点是需要额外安装。
ab(apech benchmark): 简单好用,且一般系统内置了,应对简单场景已足够
lotust:简单好用,支持python编写自定义脚本,支持多worker,图形化界面汇总性能数据。

参考博客:https://www.cnblogs.com/jinsdu/p/10646278.html#4227256

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值