la 负载均衡算法中采样大小能否增加gflags调节
Is your feature request related to a problem? (你需要的功能是否与某个问题有关?) LocalityAwareLoadBalancer中对某个节点的请求统计个数定死了128(RECV_QUEUE_SIZE). 如下面一段代码所示 这里有个疑问是为什么不能直接 _time_q(SIZE),即_time_q自己管理内存? 如果OWN_STORAGE,是否就可以直接通过gflags在构造函数中定义好_time_q的size?
butil::BoundedQueue<TimeInfo> _time_q;
TimeInfo _time_q_items[RECV_QUEUE_SIZE];
_time_q(_time_q_items, sizeof(_time_q_items), butil::NOT_OWN_STORAGE) ;
Describe the solution you'd like (描述你期望的解决方法) 希望能够支持gflags调节 _time_q size
Describe alternatives you've considered (描述你想到的折衷方案) _time_q(SIZE)
Additional context/screenshots (更多上下文/截图) 无
是在什么场景发现变更RECV_QUEUE_SIZE有收益吗?可以详细介绍一下么
是在什么场景发现变更RECV_QUEUE_SIZE有收益吗?可以详细介绍一下么
在我们的业务场景中,耗时不是很平稳(因为有多个场景,每个场景耗时差异较大)。RECV_QUEUE_SIZE 调大些时,avg_latency的计算波动会更小,这样weight的波动也会更小,客户端打到服务端的流量会更平稳些,不会频繁上下波动。
我觉得可以提个PR,现在这个128也是个经验值