一、性能测试分类
1、负载测试(性能测试)
性能测试通常泛指整个测试大类,但狭义上理解时,性能测试主要是了解测试点的响应时间,这通常是在系统设计时假定的或在合同中明确承诺的指标。负载测试的目标是获取系统的最优负载并找出性能瓶颈,通过不断调优来提高系统的最优负载。目的是测试在负载逐渐增加时,系统各项性能指标(如响应时间、吞吐量)的变化情况,确保系统在正常操作范围内的稳定性和效率。
2、压力测试
通过不断增加负载直至系统达到或超过其设计极限,以确定系统的最大承受能力、故障点或崩溃点。
3、容量测试
评估系统在不同数据量级、用户数或事务量下的表现,以确定系统的最大处理能力和最佳容量配置。
4、稳定性测试
在一段时间内(如7x24小时)对系统施加恒定负载,检验系统长期运行的稳定性和可靠性。
5、并发测试
模拟多个用户同时访问应用或系统,检测系统处理并发请求的能力,以及是否存在死锁、数据竞争等问题。
6、配置测试
测试系统在不同硬件配置、软件设置或网络环境下的性能,以优化系统配置。
7、可靠性测试
检查系统在遇到故障或异常情况时的恢复能力,确保系统能够优雅地处理错误并快速恢复服务。
二、性能测试响应标准
1、用户感知的正常响应时间标准(2-5-8原则)
2秒内:用户感觉系统响应迅速,这是最佳体验区间。
5秒内:系统响应尚可接受,用户能感受到轻微延迟,但不影响整体满意度。
8秒内:用户开始感觉等待时间较长,可能会有不耐烦的情绪,但还在可容忍范围内。
8秒以上:用户体验急剧下降,认为系统反应迟钝或无响应,可能导致用户放弃操作并影响用户留存率。
2、用户感知的严格响应时间标准(1-3-5原则)
1秒内:系统响应时间应追求在1秒内完成,带来即时反馈体验。
3秒内:对于稍微复杂的操作,3秒内完成是用户可接受的界限。
5秒内:作为最后的容忍界限,超过5秒的响应时间应视为需要紧急优化。
3、用户感知的特殊响应时间标准
普通业务操作:应在5秒内完成,确保日常操作流畅无阻。
万级数据量查询:8秒内响应,适用于大多数中等数据检索需求。
百万级数据量查询:10秒内完成,对较大数据集查询提出更高要求。
千万级数据量查询:20秒内响应,尽管时间较长,但仍设定了一个用户可接受的上限。
4、Api响应时间标准
应用类型 | 优秀 | 良好 | 可接受 | 不可接受 | 备注 |
---|---|---|---|---|---|
实时应用 | < 50毫秒 | 50~100毫秒 | 100~200毫秒 | > 200毫秒 | 如金融交易、在线游戏等 |
交互式应用 | < 100毫秒 | 100~200毫秒 | 200~500毫秒 | > 500毫秒 | 如网页、移动应用 |
一般业务应用 | < 200毫秒 | 200~500毫秒 | 500~1000毫秒 | > 1000毫秒 | 如电子商务、内容管理系统 |
数据查询和分析 | < 500毫秒 | 500~1000毫秒 | 1000~2000毫秒 | > 2000毫秒 | |
批处理和后台任务 | < 1秒 | 1~2秒 | 2~5秒 | > 5秒 |
5、服务器资源管理阈值
CPU利用率:
理想范围:60%-80%。长时间超过80%可能指示资源紧张,需关注是否有优化空间或是否需要扩容。
警戒线:90%。达到此阈值应立即触发警告,考虑优化算法、负载均衡或增加计算资源。
内存使用率:
安全阈值:使用率保持在60%-80%以内,确保有足够的余地处理突发流量。
警戒线:超过85%,应密切关注,防止内存溢出导致的服务中断。
磁盘I/O:
平均队列长度:保持在2或更低,过高则表示I/O瓶颈,需优化磁盘访问模式或升级存储设备。
读写速率:依据业务需求设定,比较在不同负载或优化后的读写速率变化。如果读写速率的提升伴随着系统响应时间的减少或吞吐量的增加,通常视为正面的性能改善。
网络带宽:
使用率:一般不超过70%-80%,确保网络不成为瓶颈,特别是在数据密集型操作时。
事务成功率标准:
推荐阈值: 事务成功率应尽量达到100%,至少保持在99%以上,以确保系统能够可靠地完成用户请求。
评论