压测思路:
压测consumer的Controller,调用provider暴露的接口。
provider做1w次循环,生成随机数做累加。
provider再把consumer的入参无处理返回给consumer。
1、准备
使用的工具:
1、gc可视化工具:https://gceasy.io
2、压测工具:jmeter5.1(其他版本不兼容dubbo)
3、jmeter 插件,在jmeter官网可以找到,主要用来获取响应时间、TPS 参数
4、ServerAgent插件,jmeter的官方监测工具,用于收集服务器的CPU、磁盘、带宽、内存 参数。
5、jmeter集成dubbo插件,可以直接使用dubbo:// 协议调用 provider
序列化:
dubbo协议缺省为hessian2,rmi协议缺省为java,http协议缺省为json
使用 jmeter 官方自带的 servergent 收集服务器信息:
[root@GZSB-CJB-SHH10-8-LASTMILE-32 ServerAgent-2.2.3]# ./startAgent.sh
INFO 2021-11-25 14:06:18.483 [kg.apc.p] (): Binding UDP to 4444
INFO 2021-11-25 14:06:19.490 [kg.apc.p] (): Binding TCP to 4444
INFO 2021-11-25 14:06:19.497 [kg.apc.p] (): JP@GC Agent v2.2.3 started
consumer代码:
@DubboReference(version = "*", protocol = "dubbo,hessian", loadbalance = "random",retries = 0)
private StressTestService stressTestService;
@RequestMapping("/stressTest/string1k")
public Boolean string1k(){
// IO操作读取1k数据
String s = new FileCapacity().getFileCapacity(1*1024);
String result = stressTestService.StressString1k(s);
log.info("stressTest/string1k:{},num:{}",result.length()

最低0.47元/天 解锁文章
2870

被折叠的 条评论
为什么被折叠?



