访问 localhost 的情况下, Unix Socket 会比 TCP 127.0.0.1 更快(资源 overhead 更少)

2015-07-04 12:17:20 +08:00
 Livid
http://lists.freebsd.org/pipermail/freebsd-performance/2005-February/001143.html

通过 Unix Socket 访问本地的 Redis 可以提供更好的性能:

http://redis.io/topics/benchmarks
14073 次点击
所在节点    DevOps
28 条回复
jugelizi
2015-07-05 11:15:40 +08:00
然而必须是一台机器。。。
luoqeng
2015-07-05 12:07:20 +08:00
直接上共享内存吧,更快。
ryd994
2015-07-05 13:36:49 +08:00
@dallaslu
在有socket的情况下,再造这个轮子,已经没必要了,大家已经都在用socket了。
不过我倒是知道有些软件客户端连接localhost会先尝试读取配置文件里的socket,失败再连127.0.0.1。
guoqiao
2015-07-05 18:31:41 +08:00
搭车讨论个问题:
如果是使用 Docker 来部署 Web 应用, 你可以很容易的通过127.0.0.1:端口将服务映射给宿主机的 Nginx.
但是如果通过 Socket 来做, 我能想到的方法是通过 Volume 来共享 Socket 文件.
但这样做总觉得有点不够完美.
大家是怎么解决 Docker 容器之间的 Socket 通信问题的呢?
loveminds
2015-07-06 00:44:03 +08:00
@kn007 嗯,还有前端的防薇墙(Openresty改的)
julyclyde
2015-07-06 18:17:31 +08:00
“……的情况下”才有这种比较啊
不在这情况下根本都不用比
Livid
2015-07-06 23:27:08 +08:00
@realpg 你不明白很多帖子我为什么要发。

当我在网上看到一些有用的东西时,如果这些话题之前没有在 V2EX 讨论过,那么我会发上来。
realpg
2015-07-07 09:56:39 +08:00
@Livid 好吧 我理解错了,但是就我来说,我给入门的新手PHP程序员非ops教学,第一课讲http协议基础和环境搭建的时候都会去讲unix socket以及优缺点。这个有点过于基础了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/203269

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX