转自:oschina
www.oschina.net/translate/how-run-load-test-50k-concurrent-users
本文将从负载测试的角度,描述了做一次流畅的5万用户并发测试需要做的事情.
你可以在本文的结尾部分看到讨论的记录.
-
编写你的脚本
-
使用JMeter进行本地测试
-
BlazeMeter沙箱测试
-
使用一个控制台和一个引擎设置Users-per-Engine的数量
-
设置并测试你的集合 (1个控制台和10-14 引擎)
-
使用 Master / Slave 特性来达成你的最大CC目标
-
使用 BlazeMeter 的 Chrome 扩展 来记录你的方案
-
使用 JMeter HTTP(S) 测试脚本记录器 来设置一个代理,那样你就可以运行你的测试并记录下所有的东西
-
从头开始全部手工构建(可能是功能/QA测试)
-
你需要改变诸如Username & Password这样的特定参数,或者你也许会想要设置一个CSV文件,有了里面的值每个用户就可以是不同的.
-
为了完成诸如“添加到购物车”,“登录”还有其它这样的请求,你也许要使用正则表达式,JSON路径提取器,XPath提取器,来提取诸如Token字符串,表单构建ID还有其它要素
-
保持你的脚本参数化,并使用配置元素,诸如默认HTTP请求,来使得在环境之间切换时你的工作更轻松.
-
如果你想要每个用户独立——是那样的么?
-
有没有收到错误?
-
如果你在做一个注册过程,那就看看你的后台 - 账户是不是照你的模板创建好了? 它们是不是独立的呢?
-
从总结报告中,你可以看到对测试的统计 - 它们有点用么? (平均响应时间, 错误, 每秒命中率)
-
通过移除任何调试和虚拟样本来清理脚本,并删除你的脚本侦听器
-
如果你使用了侦听器(诸如 "将响应保存到一个文件"),请确保你没有使用任何路径! , 而如果他是一个侦听器或者一个CSV数据集配置——请确保你没有使用你在本地使用的路径 - 而只要文件名(就好像跟你的脚本在同一个文件夹)
-
如果你使用了自己专有的JAR文件,请确保它也被上传了.
-
如果你使用了超过一个线程组(不是默认的那个) - 请确保在将其上传到BlazeMeter之前设置了这个值.
-
防火墙 - 确保你的环境对BlazeMeter的CIDR 列表 (它们会实时更新)开发,并把它们放入白名单中
-
确保你所有的测试文件, 比如: CSVs, JAR, JSON, User.properties 等等.. 都可以使用
-
确保你没有使用任何路径
-
引擎: 是能使控制台(1 个控制台 , 0 个引擎)
-
线程: 50-300
-
产能提升: 20 分钟
-
迭代: 一直测试下去
-
时间: 30-50 分钟
-
线程数: 500
-
产能提升:40 分钟
-
迭代: 永久
-
时长: 50 分钟
-
将线程数调整到700在测试一次
-
提交线程的数量直到线程数达到1000或者60%的CPU或内存使用
-
看看你第一次达到75%的点,在那个点有多少并发用户.
-
在运行一次测试, 而不是提高你之前500个用户数量的产能
-
这一次将产能提升放到真实的测试中(5-15 分钟是一个好的开始) 并将时长设置为50分钟.
-
确保整个测试过程中没有超过75%的CPU使用率或者85%的内存使用率...
-
没有一个引擎超过CPU75%的占有率和内存85%占有率的上限;
-
定位你的控制台标签(你可以通过一次点击Logs Tab->Network Information,查看控制台私有IP地址来找到它的名字)——它不应该达到CPU75%占有率和内存85%占有率的上限。
-
每个集群的用户数量;
-
每个集群的命中率。
-
一个引擎支持500用户
-
一个集群可以用户12个引擎
-
我们的目标是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)并按保存。
荐
阅
读
如何优雅的导出 Excel
5. 团队开发中 Git 最佳实践
在看
本文分享自微信公众号 - Java后端(web_resource)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
相关文章
暂无评论...