现在我们可以肯定脚本能在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.
将该测试按照最终测试的全部时长运行 。当测试在运行时,打开监听标签,并且检验:
【硬核!如何模拟 5w+ 的并发用户?】1,没有一个引擎超过CPU75%的占有率和内存85%占有率的上限;
2,定位你的控制台标签(你可以通过一次点击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中的一个 。
- 返回你的 "My prod test -slave 1".
- 按复制按钮
- 接下来重复步骤1-5直到你创建了9个slave 。
- 回到你的 "My prod test -salve 9" 并按复制按钮.
- 将测试的名称改为 "My prod test -Master".
- 将高级测试属性(Advanced Test Properties) 下的Slave改为Master 。
- 检查我们刚才创建的所有的Slave(My prod test -salve 1..9)并按保存 。
推荐阅读
- 如何在 Linux 上创建和使用交换文件
- CPU是如何访问内存的?
- 如何零基础入门编程
- 化妆刷掉毛 如何洗化妆刷不炸毛
- 汽车|比亚迪如何把一辆车卖到100万元?
- 风水解读黄道吉日如何挑选
- 店铺信用卡支付怎么开通 淘宝店如何开通信用卡付款
- 银行卡如何实名认证 中国银行实名认证
- 很多人不知道鸡米花是用鸡胸肉做的?厨师长硬核操作,入口嫩爆汁
- 如何识别茶叶介绍
