负载测试是确保您的网站或应用程序在重负载下不会崩溃的方法。 当进行负载测试时,您需要做的基本事情之一是扩展您正在测试的虚拟用户数量。 根据您的业务需求,您可能需要扩展到庞大的数字,甚至可能达到1,000,000个用户。
这里有5个方法可以帮助你进行性能测试扩展:
1. Plan in advance
许多情况下,用户数量巨大增长是可以预期的。 例如,预计在大型游戏(2月5日,星期日)的食品交付地点或直播电视网站的当天,零售店的黑色星期五,流行音乐开放票购买选择的日子,交通高峰 节日或电影,发布新应用或网站的第一周,等等。
因此,我们建议您至少提前几个月开始对大用户量进行负载测试。 (担心你离开你的负载测试太晚了?我们可以帮助)。 确保您有足够的时间运行测试,找到您的断点,解决任何需要修复的瓶颈,然后再次运行测试,以确保一切正常。 您应该测试的用户数量取决于您的业务需求和您的期望。
无论如何,我们建议您将负载测试集成到连续集成过程中。
2. Record your test scenario
记录您的用户场景是创建测试的最简单和最有用的方法。 虽然JMeter提供录音选项,最有用和易于使用的记录器是BlazeMeter Chrome扩展,是免费的。
记录负载测试场景:
– 从Chrome商店将recorder添加到Chrome
– 键入测试名称
– 点击“记录”按钮,并浏览您想测试的场景。
– 点击“停止”按钮。
– 如有必要,进行编辑- 导出到.jmx并上传到JMeter,或单击“播放”在CA BlazeMeter中打开它。
建议对任何的负载测试都要进行测试场景记录。 但是,扩展到高人数需要一些时间,因此您需要简化尽可能多的进程。 recorder就是这样做的。
3. Remove all unnecessary data from your test script
负载测试会占用了大量的资源,但大规模扩展后,会占用更多的资源。 为了确保您的资源不会因为无关内容的瓶颈而发生崩溃。 为此,请删除任何不必要的数据。
例如,我们假设您不会在JMeter上运行大规模测试(可能在单个机器上支持几百 – 1K个用户),因此删除侦听器(但在JMeter上运行测试时请务必保留)。
4. Adjust the test gradually
初次进行大量用户的测试可能会成功,也可能会导致系统崩溃。 原因可能是本身的测试环境没有搭建好,或者因为大量用户。
以上情况,你想要找出系统何时和为什么崩溃。 我们会建议您逐步开展测试,并适度调整虚拟用户数量。
– 通过在JMeter 上首先设置 1个线程的(虚拟用户)启动本地测试,以确保测试正常工作。
– 手动将线程组中的用户数更改为几十或几百。 如果正常运行,请继续添加用户。
– 达到一定数量的用户后,本地计算机可能无法处理负载。 如果您仍然需要增加用户,您可以使用CA BlazeMeter(在云中的一种JMeter)等工具继续扩展。
– 在SandBox模式下运行测试,以确保正常工作。
– 逐步扩展到您需要的用户数量。 达到单个控制台可用的最大数量后,请转到CA BlazeMeter的多重测试选项,并复制测试,直到达到所需的用户数量。 在这里阅读更多。
通过逐渐添加用户,您可以确定您的中断点并识别瓶颈,如高内存使用或不正确的DB使用。 修复瓶颈并继续测试,直到达到高于您决定处理的用户数量的断点。
5. Constantly analyze test results and engine health
当进行负载测试时,CUP和内存的使用率是我们看到的两个最重要的指标。 你需要确定系统不能逾越的使用级别,但是如果CPU达到75%和85%的内存,你就达到了你不能逾越的红线。
要监视系统的运行状况,请查看负载测试系统提供的报告,并分析不同的KPI以及它们之间的相关性。 CA BlazeMeter提供了Engine Health报告,但您也可以在Taurus(一个开源测试自动化工具)上分析这些参数。
在每次运行测试后,实时分析结果非常重要。 这些确保您全面了解您的系统的能力,弱点和瓶颈。 它们还让您看到在更改系统时会发生什么,例如添加功能或更改系统的体系结构。 最后,他们让你看看你所做的修改是否真的有帮助。
确定系统能承受重负载,对于保持用户量是非常重要的。 我们希望这些方法对于您扩展高用户量能有所帮助。
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/193352.html