14-Dubbo测试
Dubbo
目前是apache托管的开源项目,能够实现RPC
测试服务器IP:192.168.9.3
zookeeper端口20181
服务提供者:
membet1:20882
membet2:20883
测试dubbo的方法
1.使用Telnet的方式
在mac上运行telnet需要环境
使用
Homebrew
安装一下
1 brew install telnet
1 | telnet 192.168.9.3 20882 |
使用ls
可以查看提供的服务的名称也就是「接口」
使用ls -l
可以查看接口的所有方法
1 | ls |
方法括号中有内容,就是带有参数的方法
使用cd
进入到服务的名称位置后
1 | ls -l |
调用接口的方法:invoke 接口.方法()
1 | invoke com.lemon.member.service.MemberService.list() |
2.使用jmeter
将jmeter-plugins-dubbo-2.7.3-jar-with-dependencies.jar
放入lib\ext
中后,重启Jmeter
添加「取样器」后可以看到增加了「Dubbo Sample」
在「Registry Settings」填入服务器信息后点击「Get Provider List」
可以看到我们可以查看相关方法。这些方法与刚才使用Telnet查看的一致
我们选择「list」后点击运行
可以在「查看结果树」中查看与Telnet中一致的内容
查看add的接口文档
其他性能测试工具
ab和wrk都是快速响应性能测试工具
wrk
安装
1 | git clone https://gitee.com/mirrors/wrk.git |
1 | (base) 192:~ zhongxin$ mkdir wrk |
用法
1 | -c 连接数 |
测试语句
1 | ./wrk -t4 -c100 -d30s --latency https://www.baidu.com/ |
1 | (base) 192:wrk zhongxin$ ./wrk -t4 -c100 -d30s --latency https://www.baidu.com/ |
- Avg 平均响应
- Stdev 标准方差
- Max 最大值
- +/- Stdev 偏差比
- Latency 响应时间分布
- Req/sec 每秒请求数
ab
1 | (base) 192:wrk zhongxin$ ab -V |
1 | (base) 192:wrk zhongxin$ ab -help |
用法
1 | -c 并发用户数 |
测试语句
1 | ab -c 10 -n 10000 https://www.baidu.com/ |
1 | (base) 192:wrk zhongxin$ ab -c 10 -n 10000 https://www.baidu.com/ |
ngrinder
nGrinder 是基于 Grinder 开源项目,由 NHN 公司的开发团队进行了重新设计和完善。nGrinder 是一款非常易用,有简洁友好的用户界面和 controller-agent 分布式结构的强大的压力测试工具。
它的脚本,支持 Jython、Groovy 两种语言。
官方网站:http://naver.github.io/ngrinder/
GitHub 地址:https://github.com/naver/ngrinder
运行
1 | Java -jar ngrinder-controller-xx.war |
- 登录 Web 管理界面,点击顶部导航用户信息,在下拉信息中,选择‘下载代理’,将会自动下载 Agent,选择‘下载监控’,将自动下载 monitor 监控
- 解压、启动 Agent:双击 run_agent.bat(windows) ‘./run_agent.sh’(linux mac)
- 代理服务启动后,在页面 admin > 代理管理,就能看到代理服务器
制作脚本
在首页,Quick Start 文本框中输入 要录制脚本的地址,第二个文本框,选择生成脚本的语言类型,点击 开始测试 按钮,就可生成脚本。或者点击,菜单栏中的‘脚本’
点击‘新建脚本’按钮,弹窗中,选择脚本类型,填写脚本名称,被测 URL(可选),点击‘创建’即可创建出一个对应脚本语言的脚本
点击脚本列表 ‘脚本名称’列中的脚本名称,即可打开对应的脚本详情
性能测试
- 点击顶部菜单栏中的‘性能测试’菜单
- 再点击 ‘创建测试’
- 在这个页面中,填写‘测试名称’,填写‘代理’数量(根据后面的提示), 选择‘脚本’,如果脚本中有服务器地址,则可以不选择目标主机,如果没有,则需要添加‘目标主机’,然后点击右上角的‘保存 并运行’,这样就可以按照你的设计,进行性能测试了。
- 性能测试执行过程成功,状态为绿色(红色为执行过程中出错),执行成功,会展示一份测试报告概要。