压力测试与负载测试

本文详细阐述了性能测试、压力测试和负载测试之间的关系。性能测试是整体概念,包括负载测试和压力测试。压力测试关注在极限负荷下系统的稳定性和破坏性,旨在发现系统崩溃的临界点。负载测试则逐步增加系统负载,观察其性能表现。通过生活化的餐厅服务员例子,形象地解释了压力测试和负载测试的差异。

性能测试、压力测试、负载测试的关系

  性能测试是一个统称,通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。

  负载测试和压力测试都属于性能测试。

压力测试

  压力测试(Stress Testing):在超强的、近乎会导致系统崩溃的负荷(大数据量、大量并发用户等)下,观察系统的cpu利用率,内存使用率,磁盘I/O吞吐率,网络吞吐量等的变化。

  • 稳定性压力测试:在选定的压力值下,长时间持续运行。通过这类压力测试,可以考察各项性能指标是否在指定范围内,有无内存泄漏、有无功能性故障等;
  • 破坏性压力测试:在稳定性压力测试中可能会出现一些问题,如系统性能明显降低,但很难暴露出其真实的原因。通过继续加压的手段,当压力强到可以迅速导致服务崩溃时,问题往往便会明显的暴露出来;

负载测试

  负载测试(Load Testing):目标是测试在不同负载情况下的系统性能情况。

  常从比较小的负载开始,逐渐增加并发数、数据量, 观察并记录不同负载情况下系统的各项指标,直至系统无法承受而崩溃或服务不可用。

生活化例子

  看到了网上一个餐厅服务员的例子,我借鉴并扩展一下:

  压力测试:就是给这位服务员外部压力,比如长时间不让他休息、直接安排三倍的工作量等,看看服务员的反应如何,是会开小差(无法及时响应请求),还是会直接罢工(宕机)之类的。

  负载测试:就是逐步加大这位服务员的工作量,比如第一天让他招呼一桌顾客,第二天招呼两桌,第三天招呼三桌,以此类推。看看此服务员在不同的工作量下完成服务的速度和质量,从而了解到该服务员的工作能力。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值