ignite压测基准方案:ignite-yardstick
这是一篇分享ignite技术压缩方案的,写给正在使用ignite或者正在学习的同学们。
不管是独立部署还是嵌入式部署,又活着混合部署,最终都逃不过压测环节。要么用目前可见的一些工具jmeter或者自研,其实都是要做很多工作的,而ignite-yardstick是一个完成品方案,简单说就是为ignite服务已经写好了,如果觉得不够按照扩展进行自定义开发也是非常简单的。
ignite-yardstick同ignite技术一样都是用java语言开发的,一个生态圈。
开源代码
当你下载独立按照zip版ignite时,在它的目录结构中能看到一个beachmarks目录,这里面就是针对ignite而写的基准程序,本身也是可以直接使用。
ignite-yardstick:https://github.com/owen-jia/ignite-yardstick。
这个Project可以编译生成上面提到的beachmarks目录基准程序,这个源码已经开源在github上,jdk8基础上maven构建。
Yardstick是一个框架,专门写基准测试程序的框架。
使用beachmark
推荐直接执行脚本:bin/beachmark-run-all.sh config/beachmark-sample.properties
,这是一个样例脚本用来检测配置是否正确。需要注意yardstick中ignite配置文件ignite-base-config.xml与ignite的ignite-default.xml是否一致,我遇到一个关于peerClassLoadingEnabled参数一致的bug。
还有个参数在beachmark-sample.properties中AUTO_COPY=true,开启后会自动生成一个html格式的报告,也可以手动执行jfreechar-graph-gen.sh脚本。
最后去yardstick根目录会生成output文件夹,日志与报告都在这里面。
验证通过后执行脚本:bin/beachmark-run-all.sh config/beachmark.properties
即可。
对于另外脚本manual、drivers、servers、wait,有兴趣可以自己研究研究,能提升shell脚本能力。