Linux 网络应用程序的高延迟
我正在玩Linux网络编程,我写了一个小的客户端服务器应用程序,它在客户端和服务器进程之间反弹一条小消息并测量往返时间。我始终看到本地主机往返时间约为 80 毫秒(这是在连接设置之后)。这看起来异常高。运行相同代码的同一台机器在 Vista 上的时钟速度将大大低于 1 毫秒。
关于这种差异可能来自哪里有什么想法吗?代码非常简单,一端接受,另一端连接,然后通过对等套接字发送/接收。
我刚刚开始接触 Linux,如果这是一个愚蠢的问题,我深表歉意。
I am playing around with linux network programming and I wrote a little client server app which bounces a small message between a client and a server process and measures the round trip time. Consistently I see around 80ms for localhost round trip (this is after connection setup). This seems extraordinarily high. The same machine running the same code will clock substantially below 1ms on Vista.
Any ideas on where this difference could come from? The code is pretty straightforward, accept on one end, connect on the other and then just send/receive through the peer socket.
I am just begining on Linux, apologies if this is a silly question.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您使用 TCP 套接字,那么您可能需要禁用 Nagle 算法(通过设置 TCP_NODELAY 套接字选项)。
If you are using TCP sockets, then you might want to disable the Nagle algorithm (by setting the TCP_NODELAY socket option).