-
Notifications
You must be signed in to change notification settings - Fork 654
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
client大包发送速率较低 #31
Comments
这个问题我也在考虑中,有几个问题: 以上我一直都想实现来着,如果你有更好的建议可以进一步讨论。 |
优化已经完成,参见 0dbfbbd , 8acfe52 和 1736cd3 。 主要优化点:
优化结果(通过运行test/perf_test/test_delay.sh测试得到):
|
请问tranbuf 大小的最大值为什么为32k?如果设置更大会有什么问题? |
首先32k够大了,更大也不会提升吞吐,实测10k时就可以达到1.2GB/S,占满万兆网卡带宽了。 |
Hi,使用中发现:如果协议的request message字段为repeated,且size比较大(数百个),且字段message是个复合结构(内部同样存在repeated字段),request序列化长度在200k左右,BinaryRpcRequest::ProcessRequest方法的执行时间会很长,达到几十毫秒+,请问是proto buffer的反序列化性能瓶颈造成的吗?是在预计范围之内吗? |
我觉得是的,你可以自己单独测试一下使用protobuf进行序列化和反序列的性能,以验证你的猜测。 |
我们在测试的时候也发现repeated在序列化的时候非常耗时。。 |
client的发送速率受限于boost::socket的发送速率(async_write_some ~ on_write_some间的延迟),当发送较大的数据包时,如果数据跨越多个bufhandle,发送速率会成比例下降。可通过提高bufhandle的大小,降低buf数来提高大包发送速率。
The text was updated successfully, but these errors were encountered: