把 unix socket 建在 /dev/shm 会提高性能么?
我发现很多中文的教程都说这样可以提高性能,但找不到英文的资料支持这一观点。
例如: http://blog.chinaunix.net/uid-26156216-id-3502458.html
我们可以直接在/dev/shm下使用创建文件,而不用再mkfs格式化文件系统,因为都是在内存中操作。所以/dev/shm下的文件I/O速度相对很快利用这点。我们可以把php.socket放在/dev/shm下加速工作效率
以及: https://blog.linuxeye.com/364.html
Socket是使用unix domain socket连接套接字/dev/shm/php-cgi.sock(很多教程使用路径/tmp,而路径/dev/shm是个tmpfs,速度比磁盘快得多)
水无月清姬
9 years, 8 months ago
Answers
理论上来说创建、检索和删除会快一点,数据传输没有差别。实际上嘛,你把 socket 放 /dev/shm 下就是找抽,那么一点点差别别说人了,一般连程序都察觉不到。那个是放共享内存之类的东西用的。
socket 建议存放地址:
-
/run:这个是比较新的位置,专门用于存放运行时的东西,比如 socket、pidfile、
lock file 等,是 tmpfs。FreeDesktop 还专门给每用户弄了目录(/run/user/$UID)。 -
/tmp:这个一般也是 tmpfs,也可以是普通文件系统。不过长期不使用的文件可能被清
除(systemd 会定期清理)。 -
「抽象套接字」(abstract socket),即地址的第一个字符为 NUL 字符的套接字。不
对应到文件系统的。目前只有 Linux 支持。
约束之青鸟
answered 9 years, 8 months ago