gitee.com/woood2/luca@v1.0.4/test/grpc.md (about) 1 2 针对 checkPerm 进行一些简单的性能测试 3 4 checkPerm 接口包含的主要耗时操作 5 - 鉴权查mysql,用了缓存,但没有开启防雪崩模式 6 - 内部调用 checkToken 7 - zipkin 采用 http.NewReporter 8 9 耗时检测工具 10 - zipkin(没有采用 reporter.NewNoopReporter 时) 11 - prometheus 12 13 完整调用 checkPerm 14 - 16ms ~ 80ms(中位数,耗时不算低) 15 16 zipkin 改用 reporter.NewNoopReporter 17 - 经过多轮测试,未发现zipkin传输对接口整体耗时的确切关系 18 19 注释内部调用 checkToken 20 - 16ms(内部嵌套的gRPC调用,耗时较小) 21 22 关闭鉴权查mysql 23 - 17us 24 25 并发 1000(未关闭鉴权查mysql) 26 - 发生慢查询 0.9=1.3s,0.99=2.2s,大量 hystrix timeout 27 - hystrix 有助于间接保护下游的mysql,但是根据prometheus统计,server接口执行完了 28 29 并发 1w,关闭鉴权后 30 - hystrix发生开路,因为MaxConcurrentRequests=1000 31 - 改为10000后,没有开路 32 - 所有请求几乎在1s内完成,相当于gRPC的hello world 33 34 并发 2w,测试checkToken,类似于hello world 35 - 1.1 s内完成