Weibing Wang
Weibing Wang
maybe we can provide a macro to disable tcmalloc related code in compile time
是不是传入的request code本身不均匀
> > 这是ip node节点之间的差值 这个图的横纵坐标分别是什么含义?
> 横坐标是node节点:1,2,3,4...,纵坐标是相邻节点hash值的差值,可以理解是每个节点负责的区间大小 了解。 你应该这样统计:将hash环上每一个区间,累计到所属的实例上。如果每个实例的累计结果差不多,就说明是均匀的。
这个功能可以有,感兴趣的可以提个PR
> We could > > * A: check if service name a valid host for HTTP > * B: set host field by remote_side > > option B would revert...
@chenbay Could you describe the use case of these new options?
> > @chenbay Could you describe the use case of these new options? > > @wwbmmm 两个节点间多个streams protocol通过一个socket连接传输数据,handler里消费速度跟不上,数据堆积在_consumer_queue里,因为streams数量我们使用的没法限制,所以想加到socket上限制。 感觉好像没必要在Socket上限制。如果每个Stream都设置了max_buf_size,当数据堆积在_consumer_queue到一定程度,发送端自然会限流,每个Stream都会被限住,那么Socket上自然就限住了。 而且如果有部分Stream消费地比较快的话,那么这部分Stream的发送端还可以继续发送。但如果在Socket层面限流的话,就会导致这部分Stream也被限制发送了,造成不必要的限制。
> max_buf_size只能限制单个stream的buffer size,我们两个节点间stream数量可能很多,希望能限制这些streams的总buffer大小,控制内存占用,目前考虑的是通过socket来限制(因为socket就是端到端),socket内的多个streams就让他们自己竞争,有一个min_buf_size也保证了stream不会饿死。 如果是出于控制内存的角度倒是可以理解这个需求 如果是这个需求的话,感觉不需要通过协议传递remain_buffer_size,只需要发送端根据接收端返回的consumed_size,统计一个Socket级别的buf size即可。
请问使用的rdma分支是 https://github.com/apache/incubator-brpc/tree/rdma 还是 https://github.com/apache/incubator-brpc/pull/1836