1 前言
说到性能测试工具,你会立刻联想到哪一个?ab(ApacheBench)、JMeter、LoadRunner、wrk…可以说市面上的压测工具实在是五花八门。那如果再问一句,对 Dubbo 进行性能压测,你会 pick 哪一个?可能大多数人就懵逼了。可以发现,大多数的压测工具对开放的协议支持地比较好,例如:HTTP 协议,但对于 Dubbo 框架的私有协议:dubbo
,它们都显得力不从心。
如果不用通用的压测工具解决 Dubbo 的压测问题,可以自己编写 Dubbo 客户端,自行汇总结果,但总归不够优雅,再加上很多开发同学没有丰富的测试经验,很容易出现一些偏差。说到底,还是压测工具靠谱,于是便引出了本文的主角 —— jmeter-plugins-for-apache-dubbo。这是一款由 Dubbo 社区 commiter 凝雨同学开发的 JMeter 插件,可以非常轻松地对 Dubbo 实现性能测试。
2 JMeter 介绍
在开始压测 Dubbo 之前,简单介绍一下这款开源的性能测试工具 —— JMeter。JMeter 是 Apache 组织基于 Java 开发的一款性能测试工具。它最初被设计用于 Web 应用测试,但后来扩展到其他测试领域,并可以在 Windows、Mac、Linux 环境下安装使用。JMeter 还提供了图形界面,这使得编写测试用例变得非常简单,具有易学和易操作的特点。
JMeter 官网:http://jmeter.apache.org/download_jmeter.cgi
2.1 安装 JMeter
截止本文发布,官方的最新版本为:apache-jmeter-5.1.1.zip(http://mirrors.tuna.tsinghua.edu.cn/apache//jmeter/binaries/apache-jmeter-5.1.1.zip) , 下载后直接解压即可。
在 ${JMETER_HOME}/bin 下找到启动脚本,可以打开图形化界面
Mac/Linux 用户可以直接使用 jmeter 可执行文件,或者 jmeter.sh 启动脚本
Windows 用户可以使用 jmeter.bat 启动脚本
2.2 命令行提示信息
启动过程中会有一段命令行日志输出:
================================================================================
Don't use GUI mode for load testing !, only for Test creation and Test debugging.
For load testing, use CLI Mode (was NON GUI):