网站模板及素材,汕头搜索引擎优化服务,学前端有必要找培训机构吗,煤炭建设行业协会网站本文将介绍使用50K并发用户测试轻松运行负载测试所需的步骤#xff08;以及最多200万用户的更大测试#xff09;。
❶ 写你的剧本
❷ 使用JMeter在本地测试
❸ BlazeMeter SandBox测试
❹ 使用一个控制台和一个引擎设置每引擎用户数量
❺ 设置和测试群集#xff08;一个…本文将介绍使用50K并发用户测试轻松运行负载测试所需的步骤以及最多200万用户的更大测试。
❶ 写你的剧本
❷ 使用JMeter在本地测试
❸ BlazeMeter SandBox测试
❹ 使用一个控制台和一个引擎设置每引擎用户数量
❺ 设置和测试群集一个控制台和10-14个引擎
❻ 使用主/从功能达到最大CC目标 第1步编写脚本
在开始之前请确保从JMeter Apache社区获取最新的JMeter版本。
在开始之前您需要下载JMeter插件管理器。下载JAR文件后将其放入JMeter的lib / ext目录。然后启动JMeter并转到“选项”菜单以访问插件管理器。
有很多方法可以获得你的脚本 使用BlazeMeter Chrome扩展程序记录您的方案 使用JMeter HTTPS测试脚本记录器 您可以设置代理运行测试并记录所有内容 从头开始手动操作并构建所有内容可能用于功能/ QA测试。 如果您的脚本是录制的结果如步骤1和2请记住 您需要更改某些参数例如用户名和密码或者您可能希望设置包含这些值的CSV文件以便每个用户都可以是唯一的。 您可能需要使用正则表达式JSON路径提取器XPath Extractor提取诸如Token-StringForm-Build-Id等元素以便以“AddToCart”“Login”等方式完成请求。 保持脚本参数化并使用配置元素例如HTTP请求默认值以便在环境之间切换时更轻松。 第2步本地测试
使用View Results Tree元素Debug SamplerDummy Sampler和打开的Log Viewer如果报告了一些JMeter错误使用一个线程一次迭代开始调试脚本。
遍历所有场景真实和错误的响应以确保脚本按预期运行。
使用一个线程成功运行脚本后将其提升到10-20个线程10分钟并检查
如果你打算让每个用户都是独一无二的 – 就是这样吗你有任何错误吗
如果您正在进行注册过程请查看您的后端 – 是否根据您的模板创建了帐户它们是独特的吗
从摘要报告中您可以看到有关测试的统计信息 – 它有意义吗寻找平均响应时间错误命中率/秒。
一旦你的脚本准备好了通过删除任何Debug / Dummy Samplers并删除脚本侦听器来清理它。 如果您使用监听器例如“保存对文件的响应”请确保您不使用任何路径如果是监听器或CSV数据集配置请确保不使用本地使用的路径。而是仅使用文件名就好像它与脚本位于同一文件夹中一样。 如果您使用自己专有的JAR文件请务必上传它。 如果您使用多个线程组或不是默认线程组请确保在将值上载到BlazeMeter之前设置这些值。 第3步BlazeMeter SandBox测试
如果这是你的第一个测试你应该检讨这个文章了解如何在BlazeMeter创建测试。
SandBox它实际上是任何具有多达300个用户的测试并且使用一个控制台最多只需50分钟。
SandBox的配置允许您测试脚本和后端以确保BlazeMeter的一切正常。
要做到这一点首先按下灰色按钮JMeter引擎我想要完全控制完全控制您的测试参数。
您可能遇到的常见问题包括 防火墙 – 确保您的环境对BlazeMeter CIDR列表正在不更新开放并将它们列入白名单 确保存在所有测试文件例如CSVJARJSONUser.properties等 确保您没有使用任何路径 如果仍然遇到问题请查看日志中的错误您应该可以下载整个日志。
SandBox配置可以是 引擎仅限控制台一个控制台0个引擎 主题50-300 加速20分钟 迭代测试永远持续下去 持续时间30-50分钟 这将允许您在加速期间获得足够的数据如果您在那里遇到一些问题您将能够分析结果以确保脚本按预期执行。
您应该查看Waterfall / WebDriver选项卡以查看请求是否正常。此时你不应该得到任何错误除非你的意图。
您应该观察监控选项卡以查看使用了多少内存和CPU – 这将帮助您完成步骤4同时您将尝试设置每个引擎的用户数。 第4步设置每个引擎的用户数量
既然我们确信剧本在BlazeMeter中完美运行我们需要弄清楚我们可以将多少用户应用于一个引擎。
如果您可以使用SandBox数据来确定那太好了
在这里我将为您提供一种方法来解决这个问题而无需回顾SandBox测试数据。
将测试配置设置为 线程数500 加速40分钟 迭代永远 持续时间50分钟 接下来使用一个控制台和一个引擎。
运行测试并通过Monitoring选项卡监控测试引擎。 如果您的引擎没有达到75的CPU利用率或85的内存使用率可以忽略一次峰值将线程数更改为700并再次运行测试。提高线程数直到获得1000个线程或60的CPU /内存使用量。 如果您的引擎超过了75的CPU利用率或85的内存使用率可以忽略一次峰值查看您第一次达到75的时间点然后查看您当时有多少用户。再次运行测试; 而不是500的增加把你从上一次测试中获得的用户数量。 这一次在实际测试中加入你想要的加速5-15分钟是一个很好的开始并将持续时间设置为50分钟。
确保在整个测试过程中不要超过75的CPU或85的内存使用率。
为了安全起见您可以更安全地减少每个引擎10的线程数。 第5步设置并测试您的群集
我们现在知道一个引擎可以获得多少线程。在这一步结束时我们将知道一个集群测试可以获得的用户数量。
群集是一个逻辑容器只有一个控制台和0-14个引擎。即使您可以使用超过14个引擎创建测试它实际上会创建两个集群您可以看到将增加的控制台数量并克隆您的测试。
每个控制台最多14个引擎基于BlazeMeter自己的测试以确保控制台可以处理14个引擎的压力这会产生大量数据需要处理。
因此在此步骤中我们将从步骤4开始测试并仅更改发动机的数量并将其提升至14。对最终测试1,2,3等小时的全长进行测试。测试运行时请转到监控选项卡并验证没有一个引擎通过75的CPU或85的内存限制。
找到您的控制台标签。如果您将转到“日志”选项卡 – “网络信息”并查找控制台的专用IP则可以找到其名称。它不应达到75的CPU或85的内存限制。
如果您的控制台达到了该限制请减少引擎数并再次运行直到控制台处于这些限制范围内。
在此步骤结束时您知道 您将拥有的每个群集的用户 您将达到的每个群集的点击次数 在负载结果图下的聚合表中查找其他统计信息以获取有关群集吞吐量的更多信息。 第6步使用主/从功能达到最大CC目标
我们已经到了最后阶段。
我们知道脚本正在运行我们知道一个引擎可以维持多少用户并且我们知道我们可以从一个群集获得多少用户。
我们假设我们有这些值 一个引擎可以拥有500个用户 该集群将有12个引擎 我们的目标是进行50k测试 因此要做到这一点我们需要创建50,000 500 * 12 8.3个集群。
我们可以使用8个集群的12个引擎48K和一个集群其中有4个引擎另外2个。但是最好像这样分散负载
我们将使用10代替每个集群12个引擎因此我们将从每个集群获得10 * 500 5K并且需要10个集群才能达到50k。
这将有助于我们 不保持两种不同的测试类型 过简单地复制现有的集群我们可以增长5k5k比6k更常见 如果需要我们可以随时添加更多。
我们现在准备用50k用户创建我们的最终主/从测试将测试名称从“我的产品测试”更改为“我的产品测试 – 从属1”。
因此我们回到第5步中的测试在高级测试属性下我们将其从Standalone更改为Slave。 按保存我们现在有九个奴隶和一个主人中的第一个。 回到你的“我的产品测试-slave 1.” 按复制。 现在重复步骤1-5直到创建所有九个从属。 回到你的“我的prod test -salve 9”并按下Duplicate。 将测试名称更改为“My prod test -Master”。 转到“高级测试属性”并将其从“从”更改为“主”。 检查我们刚刚创建的所有从站我的prod test -salve 1-9并按save。 您对50k用户的主从测试已准备就绪。通过按下主站上的启动您将启动10个测试一个主站和九个从站每个测试具有5k个用户。
您可以将每个测试从站或主站更改为来自不同的区域具有不同的脚本/ csv /其他文件使用不同的网络仿真和/或不同的参数。
您的主服务器和从服务器的汇总报告将在主报告中的新选项卡中找到称为“主加载结果”您仍然可以通过打开报告来查看每个单独的测试结果。