快速分步概述1.编写脚本2.使用JMeter进行本地测试3.BlazeMeter沙箱测试4.使用一个控制台和一个引擎来设置Users-per-引擎数量5.设置并测试您的收藏(1个控制台和10-14个引擎)6.使用主/从功能来实现您的最大CC目标第1步:编写您的脚本Apache社区jmeter.apache.org获取最新的版本。您还需要下载这些附加插件,因为它们可以使您的工作更轻松。获取脚本的方法有很多:1.使用BlazeMeter的Chrome扩展来记录您的选项2.使用JMeterHTTP(S)测试脚本记录器设置代理,以便您可以运行测试并记录所有内容3.全部手动构建从头开始(可能是功能/QA测试)如果您的脚本是记录的结果(如步骤1和2),请记住:1.您将需要更改特定参数,例如用户名和密码,或者您可能想要为每个用户设置一个CSV文件,其中的值可以不同。2、为了完成“加入购物车”、“登录”等请求,您可能需要使用正则表达式、JSON路径提取器、XPath提取器提取Token字符串、表单构建ID和其他元素3.保持脚本参数化并使用配置元素(例如默认HTTP请求),以便在环境之间切换时更轻松地完成工作。第2步:使用JMeter进行本地测试使用查看结果树元素、调试示例、虚拟示例和打开日志查看器(其中报告了一些JMeter错误),在1个线程的1次迭代中调试您的脚本。遍历所有场景(包括True或False响应)以确保脚本按预期运行......在成功测试一个线程后-将其增加到10分钟并继续测试10到20个线程:1.如果您希望每个用户独立--是这样吗?2.你有没有得到任何错误?3.如果您正在进行注册流程,请查看您的后端——帐户是否根据您的模板创建?它们是分开的吗?4.从总结报告中,您可以看到测试的统计数据——它们有用吗?(平均的响应时间、错误、每秒点击数)准备好脚本后:1.通过删除所有调试和虚拟示例来清理脚本,并删除脚本侦听器2.如果您使用侦听器,例如“将响应保存到文件"),确保你不使用任何路径!,如果它是一个监听器或一个CSV数据集配置-确保你不使用你在本地使用的路径-只是文件名(就像在与你的脚本相同的文件夹中一样)3.如果你使用你自己的专有JAR文件,确保它也已上传。4.如果您使用多个线程组(不是默认线程组)——请确保在将其上传到BlazeMeter之前设置此值。第3步-BlazeMeter沙盒测试如果这是您此时的第一个测试-您应该查看这篇关于如何在BlazeMeter中创建测试的文章。将沙盒的测试配置设置为300个用户、1个控制台和50分钟。像这样配置沙箱允许您在后台测试脚本并确保一切都在BlazeMeter上正常运行。对于So,首先按下灰色按钮:告诉JMeter引擎我想要完全控制!-完全控制你的测试参数通常你会遇到问题:1.防火墙-确保你的环境在BlazeMeter的CIDR列表(它们会实时更新)开发中,并将它们放入白名单2.确保您所有的测试文件,例如:CSV、JAR、JSON、User.properties等都可用3.确保您没有使用如果任何路径仍然有问题,请查看错误日志(您应该能够下载整个日志)。沙箱配置可以是这样的:引擎:启用控制台(1个控制台,0个引擎)线程:50-300加速:20分钟迭代:保持测试时间:30-50分钟这将在加速期间为您提供足够的数据(以防您遇到问题)并且您将能够分析结果以确保脚本按预期执行。您应该查看Waterfall/WebDriver选项卡以查看请求是否有效,此时您应该没有任何问题(除非您是故意这样做的)。您应该Stareatthemonitor选项卡并观察期间的内存和CPU消耗-这对您在步骤4中尝试设置每个引擎的用户数很有用。步骤4:使用1个控制台和1个引擎来设置每个引擎的用户数引擎现在我们可以确定该脚本在BlazeMeter中完美运行——我们需要计算出将多少用户放入引擎中。如果您可以使用用户沙箱中的数据来做出此决定,那就太好了!在这里,我将提供一种无需回头查看沙盒测试数据即可解决此问题的方法。设置您的测试配置:线程数:500容量提升:40分钟迭代:永远持续时间:50分钟使用控制工作台和引擎。运行测试并监控(通过监控选项卡)您的测试引擎。如果你的引擎没有达到75%的CPI使用率和85%的内存使用率(一次性尖峰可以忽略)的话:调整线程数为700并提交测试线程数,直到线程数达到1000或60%的CPU或内存使用率如果您的引擎超过75%的CPU使用率或85%的内存使用率(一旦性能峰值可以忽略:查看您第一次达到75%的点,以及您有多少并发用户点。在运行测试之前,这次不要增加之前500个用户的容量,而是将容量提升变为现实(5-15分钟是一个好的开始)并将持续时间设置为50分钟。确保你没有超过75%CPUusageor85%memoryusageduringtheentiretest.为了安全起见,你可以将每个引擎的线程数减少10%.第5步:安装和测试集群我们现在知道有多少我们从引擎获得的线程,在本章结束时我们将了解集群可以为我们提供什么nyusersacluster是指具有一个控制台(只有一个)和0-14个引擎的逻辑容器。即使你可以创建一个使用超过14个引擎的测试用例-但实际上创建了两个集群(你可以注意到控制台的数量增加了),并克隆了你的测试用例......每个集群最多有14个引擎,基于BlazeMeter自己的测试,确保控制台可以控制这14个引擎。大量数据处理的压力。所以在这一步中,我们将使用第4步的测试,只修改引擎的数量,增加到14个。按照最终测试的完整时长运行测试。在测试运行时,打开Monitor选项卡并验证:1.没有引擎超过75%CPU和85%内存限制;2.找到您的控制台选项卡(您可以通过单击日志选项卡->网络信息来执行此操作,查看控制台的私有IP地址以找到它的名称)-它不应被限制在75%CPU和85%记忆。如果您的控制台达到该上限-减少引擎数量并重新运行,直到控制台低于该上限。在这一步结束时,您会发现:1.每个集群的用户数;2.每个集群的命中率。查看聚合表中的其他统计数据,并找到本地结果图以获取有关集群吞吐量的更多信息。第6步:使用主/从功能来实现您的最大CC目标我们正处于最后一步。我们知道脚本正在运行,我们也知道一个引擎可以支持多少用户以及一个集群可以支持多少用户。我们做一些假设:一个引擎支持500个用户,一个集群可以使用12个引擎。我们的目标是对50,000名用户进行测试。所以为了完成这个,我们需要8.3个集群。我们可以使用8个集群,每个集群有12个引擎和一个4个引擎集群——但最好像这样分散负载:我们每个集群使用10个引擎而不是12个,然后每个集群可以支持10*500=5K用户,我们需要10个集群来支持500万用户。这可以获得以下好处:1.无需维护两种不同的测试类型2.我们可以通过简单地复制现有集群来添加5K用户(5K比6K更常见)3.我们可以根据需要不断添加现在,我们已经准备好创建最终的50k用户级别主/从测试:1.将测试名称从“Myprodtest”更改为“Myprodtest-slave1”。2、我们回到第5步,将AdvancedTestProperties下的Standalone改为Slave。3.按保存按钮-现在我们有一个主站和9个从站之一。4.回到你的“Myprodtest-slave1”。5.按复制按钮6.然后重复步骤1-5,直到创建9个从站。7.返回“Myprodtest-salve9”并按下复制按钮。8.将测试名称更改为“Myprodtest-Master”。9.将AdvancedTestProperties下的Slave更改为forMaster。10.检查我们刚刚创建的所有从站(Myprodtest-salve1..9)并按保存。您的50,000用户级别的主从测试已准备就绪。通过按下主服务器上的开始按钮,对5k用户运行10次测试。您可以修改任何测试(salve或master)以来自不同的区域、具有不同的脚本/csv/和其他文件、使用不同的网络模拟器、不同的参数等。您可以在新选项卡中找到生成的聚合结果报告在名为“主负载结果”的主报告中。您还可以通过打开单独的报告来独立查看每个测试结果。
