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:建立一个TCP连接
- 2. 在同一个TCP连接
- 3. 哪一个更快:相关的子查询或连接?
- 4. 哪个连接更快:1个键+硬编码与2个键
- 5. 使用连接或顺序哪个更新更快?
- 6. 哪一个是更快
- 7. loadHTML&loadHTMLFile,哪一个更快?
- 8. 多个TCP连接vs单个连接
- 9. 哪个更快?
- 10. 哪个更快?
- 11. 。哪个更快?
- 12. 哪个更快?
- 13. 哪个更快?
- 14. 通过单个TCP连接复用多个TCP连接
- 15. 这两个MATLAB字符串连接方法中的哪一个更快?
- 16. 哪个更快在php/mysql?文件操作或连接池
- 17. Python,做一个专属的TCP连接
- 18. 在一个tcp连接中... Java(包)
- 19. 关闭一个外部TCP连接
- 20. 写一个TCP连接劫持
- 21. 重定向一个TCP连接
- 22. 哪一个更快更轻 - mysqli&PDO
- 23. Java读取套接字Tcp更快
- 24. 哪一个使用TCP Reno或TCP Tahoe?
- 25. 哪一个更快,为什么 - 函数内部和外部的PHP连接
- 26. Java - TCP连接
- 27. TCP连接
- 28. iphone tcp连接
- 29. Java TCP连接
- 30. 坏TCP连接
谢谢。这回答了我有关性能的很多问题。我将设置TCP_NODELAY并使用流缓冲区。 – lanortha 2013-03-06 23:57:00