0
A
回答
2
“更快” 可能意味着两种不同的东西:
最小延迟。这意味着最小化分组数据生成和客户端接收之间的时间。在这种情况下,它的“更快”可以在具有TCP_NODELAY选项的套接字上手动创建数据包。
最大化带宽速度。这意味着您想要以最大Mb/s速度传输数据(例如文件)。在这种情况下,最好禁用TCP_NODELAY并发送数据sendfile(2)。
现在关于boost :: asio。这对于设置TCP_NODELAY选项的最小延迟也是如此(example for this)。为了获得最大总传输速度,最好关闭此选项并使用streambuffer,或通过native_handle()并使用sendfile对其进行本地处理,并使用sendfile(在这种情况下,需要完成更多工作以使其“良好”异步) 。
0
你越是想到这一点,就越会得到TCP执行其工作的方式,而且执行的越糟糕。只需传输数据,尽可能使用大缓冲区。
+0
感谢您的回复。我想我会走缓冲路线。 – lanortha 2013-03-06 23:55:47
相关问题
- 1. 在同一个TCP连接
- 2. 哪个连接更快:1个键+硬编码与2个键
- 3. loadHTML&loadHTMLFile,哪一个更快?
- 4. 哪个更快?
- 5. 。哪个更快?
- 6. 哪个更快?
- 7. 哪个更快?
- 8. 哪个更快?
- 9. 这两个MATLAB字符串连接方法中的哪一个更快?
- 10. 重定向一个TCP连接
- 11. 写一个TCP连接劫持
- 12. 关闭一个外部TCP连接
- 13. Python,做一个专属的TCP连接
- 14. 哪一个更快,为什么 - 函数内部和外部的PHP连接
- 15. MySQL TCP连接
- 16. TCP/IP连接
- 17. TCP/IP连接
- 18. Java - TCP连接
- 19. TCP连接池
- 20. iphone tcp连接
- 21. TCP - 多个TCP连接中的序列号一致
- 22. 哪个更好?长时间的TCP连接还是长时间轮询?
- 23. 连接的顺序更快?
- 24. 重新连接CBPeripheral更快
- 25. Erlang使用哪个TCP端口连接到远程节点?
- 26. 哪一个更快,getimeofday或clock_gettime?
- 27. 哪一个更快,为什么? JavaScript的
- 28. 哪一个更快,C#或Vb.net?
- 29. Spark coalesce vs collect,哪一个更快?
- 30. 哪一个是更快,为什么
谢谢。这回答了我有关性能的很多问题。我将设置TCP_NODELAY并使用流缓冲区。 – lanortha 2013-03-06 23:57:00