我想知道,与postgresql的UNIX域套接字连接速度更快,然后从本地主机的TCP连接以高并发速度,如果它,多少?PostgreSQL UNIX域套接字与TCP套接字
41
A
回答
29
UNIX域套接字应该比环回接口上的TCP套接字提供更好的性能(减少数据复制,减少上下文切换),但是我不知道PostgreSQL是否能够提高性能。
我在FreeBSD邮件列表上发现了一个小小的比较:http://lists.freebsd.org/pipermail/freebsd-performance/2005-February/001143.html。
-3
4
据我所知,Unix域套接字(UDS)的工作就像系统管道,并只发送数据,而不是发送校验等附加信息,不使用三次握手的TCP套接字...
PS:也许UDS将更快
5
我相信UNIX域套接字在理论上比环回接口上的TCP套接字提供更好的吞吐量,但实际上差异可能可以忽略不计。
通过UNIX域套接字传输的数据不必上下穿过IP堆栈层。
回复:亚历山大的回答。 AFAIK你不应该在每个方向(即每个read()
或write()
)获得任何超过一个上下文切换或数据拷贝,因此我相信这种差异将会被忽略。 IP栈在层之间移动时不需要复制数据包,但它必须操作内部数据结构来添加和删除更高层的数据包头。
45
Postgres核心开发者Bruce Momjian拥有blogged about this topic。 Momjian表示:“Unix域套接字通信速度显着提高。”他测量了查询网络性能,表明本地域套接字比使用TCP/IP堆栈快33%。
相关问题
- 1. 套接字和TCP套接字
- 2. Go net/http unix域套接字连接
- 3. Unix域套接字,Udp套接字Objective C使用什么?
- 4. 从TCP套接字
- 5. TCP套接字连接
- 6. 问题与IO ::套接字TCP连接
- 7. SIP与直接TCP套接字
- 8. PostgreSQL套接字连接
- 9. ZeroMQ IPC Unix域套接字数控
- 10. C++ Unix域套接字工具包
- 11. Unix域套接字辅助数据
- 12. unix域套接字有多可靠?
- 13. 使用Python xmlrpclib和unix域套接字?
- 14. 阻止unix域套接字的问题
- 15. Linux上的unix域套接字?
- 16. UNIX域套接字在Java中
- 17. Unix域套接字和选择
- 18. Unix域套接字防火墙
- 19. UNIX域套接字和可可
- 20. 使sonarqube连接到unix套接字
- 21. Nodejs与Unix域套接字保持连接
- 22. JavaScript套接字与Flash套接字?
- 23. Haskell:Unix域套接字
- 24. Netty WebSockets和TCP套接字
- 25. TCP套接字在Android 4.0.3
- 26. TCP套接字管道
- 27. 从TCP套接字读取
- 28. Iphone上的TCP套接字
- 29. PHP插座/ TCP套接字
- 30. 套接字在c tcp
编写的上下文是'postgresql':在这种情况下,关于连接到本地数据库的两种方式,这是一个非常具体的问题。 – reedstrm 2009-02-23 19:52:04