day30 : 写不完所有东西的最後一天

30天的最後一天,写到最後几天才发现有一些想分享的没有篇幅能写入了,所以今天我认为分享的内容偏实用的JMeter测试比较合适,相信很多测试人员都有面临大量的测试作业的问题,如果可以藉由k8s的特性重复布署来做压测会是非常方便的事情,也非常适合一次性测试或是模仿大量来源,所以今天就会介绍一套Jmeter on k8s的用法。

https://github.com/Rbillon59/jmeter-k8s-starterkit
这个是我使用下来觉得满不错的专案(不是我写的QQ),概念上是使用wiremock作为环境模拟,然後用telegraf监控JVM、JMeter、wiremock的metrics到influxDB蒐集,并使用JMeter cluster架构可扩展slave来进行更完整的压测,整组架构中也包含一个grafana主机(也可以使用之前外部建的)蒐集influxDB的资料做为图表显示,同时在git中也有包含启动的shell来呼叫jmeter执行脚本和出报告。
https://ithelp.ithome.com.tw/upload/images/20210930/20139661xz44wa8A08.png
对於整个架构的运行了解後,就来尝试部署看看吧。

首先将专案clone下来,在专案目录内会看到k8s这个目录,里头放了接下来要布建环境所需要的yaml
https://ithelp.ithome.com.tw/upload/images/20210930/20139661hzBNpWC4OF.png
如果没有对所有的套件都有需求的话其实也可以选择自己想要的布建就好,今天我会透过这30天最开始的概念生出一套完全乾净的k8s来布建JMeter测试环境,

首先apply k8s底下的yaml
kubectl apply -f k8s/目录 -n jmeter
配置完成後会有两个namespaces如下(我有改过yaml 这部分可以自行参考yaml做修改)
https://ithelp.ithome.com.tw/upload/images/20210930/20139661mXenj5zSw6.png
可以在cm中修改wiremock要回应的值
https://ithelp.ithome.com.tw/upload/images/20210930/20139661xe47a7ZjRP.png
配置好要压测的服务和要使用的jmeter脚本後,执行git clone下来的start test脚本
./start_test.sh -j JMeter脚本.jmx -n jmeter -c -m -i jmeter数量 -r

这样就可以执行一次压测罗。


<<:  人脸辨识-day15 应用层面--1

>>:  使用Raspberry pi的相机拍图

Cloud Monitor

Cloud Monitor 如果使用了GCP平台,要如何捕捉以及监控错误,我想大概多半会使用Clo...

DAY29 Aidea专案实作-AOI瑕疵检测(4/4)

经过不懈的努力!我们终於来到此次专案时做的最後一个章节,前三个部分我们已经算是达成任务,成功训练出一...

企划实现(10)

FB登入 第一步:到FB官网并创建帐号 https://developers.facebook.co...

Day 10:新手杀,谁来教我离开 vim 阿~~

前面 9 天都在介绍操作环境,今天终於要进到编辑器啦!我选用的编辑器是 nvim,但是如果你要用 v...

[铁人赛 Day08] 如何使用 memoization 方法减少 useContext 非必要 re-render 的效能问题?

前情提要 在看 context API 相关的文件时,发现了一篇 React repo 中的讨论,主...