而负载测试主要与评估系统的性能而言,压力测试的目的是在重负载下,以评估该系统的可用性和稳定性。
压力测试是一种用于确定系统限制的负载测试。本次测试的目的是验证系统在极端条件下的稳定性和可靠性。
重要的是要注意,压力测试并不意味着您会立即使系统不堪重负——这是一个峰值测试,下面会介绍到它。
需要压力测试的一个典型例子是“黑色星期五”或“网络星期一”——每年两天,为许多网站产生的流量是正常流量的数倍。
压力测试可以只有几个步骤,也可以是多个步骤,如下面的示例所示。无论您包含多少个步骤,请记住这种类型的测试是为了找出在推动系统性能极限时会发生什么—所以不要担心过于激进。
您可以通过正确配置在k6中轻松创建压力测试选项目的。请记住,此测试的目的是逐步推动您的API超越其突破点。
此配置每2分钟增加100个用户的负载,并在此级别保持5分钟。我们还在最后包含了一个恢复阶段,系统将负载逐渐降低到
0。
恢复阶段的重点是确定一旦负载降低到正常水平,系统是否可以为请求提供服务。如果您正在测试自动缩放,您可能还需要逐步缩小,以确定缩小是否有效。
尖峰测试是压力测试的一种变体,但它不会逐渐增加负载,而是在很短的时间窗口内尖峰到极端负载。虽然压力测试允许SUT(被测系统)逐渐扩展其基础设施,但尖峰测试却不允许。
您希望大量的人看到您的广告并立即访问您的网站,如果您没有针对这种情况进行测试并提前进行性能优化,这可能会导致灾难性的结果。
另一个典型的例子是“HackerNews的死亡拥抱”-有人在HackerNews或Reddit等流行的互联网论坛之一上链接到您的网站,这使得成千上万的人同时访问您的系统。
请记住,此测试的目的是突然压倒系统。不要害怕增加超出最坏情况预测的VU数量。根据您的需要,您可能希望将恢复阶段延长至10分钟以上,以查看系统何时最终恢复。
为不可避免的事情做好准备是技术组织成熟的标志。压力测试不仅使您的系统更可靠,而且还降低了运营和开发团队的压力水平。
一旦您的系统具有抗压能力,您可能需要运行浸泡测试,以查看其他可靠性问题是否在较长时间内不会出现。
不让我抬杠,那我拿什么理智?:我这边是vmware虚拟机的磁盘空间占满了,导致的启动失败,先将磁盘空间清理掉不用的软件和log日志数据后,再重启就成功了
净夜凡尘:正常来说是在master节点宕机后,裁决节点发现并master在一定时间内未恢复的话会将子节点升级为master节点。所以你如果使用mongodb-exporter的话不嫌麻烦可以所有节点都添加一下,或者你可以尝试一下在仲裁节点上监控看看
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。