Tor*_*eif 3 c++ windows network-programming loopback boost-asio
我正在通过环回接口测量Windows上的TCP/IP连接的延迟,并且从收到的消息发送到响应时获得大约4ms的时间.
出于RPC目的,在TCP/IP之上有一个TCF层.除了TCF成帧之外,发送和接收的消息仅包含单个字符作为有效负载.
处理命令的"服务器"使用boost asio在C++中实现."client"发送命令是一个使用Python TCF参考实现的Python脚本.
我已经尝试将套接字选项设置为TCP_NODELAY以禁用Nagle算法并尝试使用各种缓冲区来实现套接字,但是往返时间仍然保持在4ms左右.我原以为它要低一点.
在C++方面进行分析表明,它花费大约50%的执行时间等待命令,因此下一步将尝试用C++实现替换python脚本,但知道一个人可以期待什么会很好环回接口的往返时间.
这个问题:
启用TCP_NODELAY的Linux Loopback性能
是相关的,但并没有完全回答我的问题.
您可以使用延迟建立下限ping localhost
.它报告的数字是一个发送的数据包,一个收到.
如果您的TCP消息是在现有连接上发送的,则可能会出现几乎延迟.
如果您的测量时间包括TCP连接设置,则可能会延迟10倍.