你应该观察下Waterfall / WebDriver 选项卡来看看请求是否正常,你不应该在这一点上出任何问题(除非你是故意的).
你应该盯着监控选项卡,观察期内存和CPU消耗 - 这对你在步骤4中尝试设置每一个引擎的用户数量.
步骤4 : 使用1个控制台和1个引擎来设置每个引擎用户的数量现在我们可以肯定脚本能在BlazeMeter中完美运行了——我们需要计算出要多少用户放到一个引擎中.
如果你能用户沙箱中的数据来做这个决定,那就太棒了!
在这里,我会给出一种不用回头去查看沙箱测试数据就能计算出这个数的方法.
设置你的测试配置:
- 线程数: 500
- 产能提升:40 分钟
- 迭代: 永久
- 时长: 50 分钟
运行测试并(通过监视选项卡)对你的测试引擎进行监视.
如果你的引擎对于75%的CPI使用率和85%的内存使用率都没有达到(一次性的峰值可以忽略) 的话:
- 将线程数调整到700在测试一次
- 提交线程的数量直到线程数达到1000或者60%的CPU或内存使用
- 看看你第一次达到75%的点,在那个点有多少并发用户.
- 在运行一次测试, 而不是提高你之前500个用户数量的产能
- 这一次将产能提升放到真实的测试中(5-15 分钟是一个好的开始) 并将时长设置为50分钟.
- 确保整个测试过程中没有超过75%的CPU使用率或者85%的内存使用率…
步骤5:安装并测试集群我们现在知道了从一个引擎中我们得到了多少线程,在该章节的最后,我们将会知道一个集群能给我们提供多少用户 。
一个集群是指具有一个控制台(仅有一个)和0-14个引擎的逻辑容器 。
即使你可以创建一个使用超过14个引擎的测试案例——但实际上是创建了两个集群(你可以注意到控制台的数量增加了),并且克隆了你的测试案例……
每个集群具有最多14个引擎,是基于BlazeMeter自己本身的测试,以确保控制台可以控制这14台引擎对新建的大量数据处理的压力 。
所以在这一步骤中,我们会用步骤4种的测试,并且仅仅修改引擎数量,将其增加到14.
将该测试按照最终测试的全部时长运行 。当测试在运行时,打开监听标签,并且检验:
- 没有一个引擎超过CPU75%的占有率和内存85%占有率的上限;
- 定位你的控制台标签(你可以通过一次点击Logs Tab->Network Information,查看控制台私有IP地址来找到它的名字)——它不应该达到CPU75%占有率和内存85%占有率的上限 。
在这个步骤的最后,你会发现:
- 每个集群的用户数量;
- 每个集群的命中率 。
步骤 6 : 使用 Master / Slave 特性来达成你的最大CC目标
我们到了最后一步了 。
我们知道脚本正在运行,我们也知道一个引擎可以支持多少用户以及一个集群可以支持多少用户 。
让我们做一下假设:
- 一个引擎支持500用户
- 一个集群可以用户12个引擎
- 我们的目标是5万用户测试
我们可以用8个12台引擎的集群和一个4太引擎的集群 - 但是像下面这样分散负载应该会更好:
每个集群我们用10台引擎而不是12,那么每个集群可以支持 10*500 = 5K 用户并且我们需要10个集群来支持5万用户 。
这样可以得到如下好处:
- 不用维护两个不同的测试类型
- 我们可以通过简单的复制现有集群来增加5K用户(5K比6K更常见)
- 只要需要我们可以一直增加
- 将测试的名称从"My prod test" 改为"My prod test - slave 1" 。
- 我们回到步骤5,将高级测试属性(Advanced Test Properties)下的Standalone修改为Slave 。
- 按保存按钮——现在我们有了一个Master和9个Slave中的一个 。
推荐阅读
- 网络中经常接触的Ping 一次性教你弄懂如何检测三层网络
- led吸顶灯如何正确选购
- 网店宝贝标题如何写 淘宝怎么做标题
- 教您如何轻松撬开普洱茶
- 大蒜如何储存才不易发芽?
- 如何申请劳动仲裁:这份指南请收好
- 保温杯为何变“索命杯”,热水进毒水出,保温杯该如何挑选?
- 如何让HR更容易发现你?发求职邮件是门学问!
- 如何判断一条鱼的年龄,这三种方法都可以
- 火锅店的装修如何设计
