1
jifengg 2022-09-21 16:18:36 +08:00
"/dev/shm"
请,但是会提高多少速度?以及,提高了什么速度? |
2
ililili OP 我是这么想的
这俩 sock 是 NGINX 、MySQL 、PHP 三者相互通信的纽带 在内存里的读取速度会比硬盘快 以此提高 LNMP 环境下网站的运行速度 |
3
julyclyde 2022-09-21 17:02:00 +08:00
提高不了的,别想了
|
5
ltkun 2022-09-21 17:16:01 +08:00 via Android
RamDisk 吗 Linux 支持 tmpfs
|
6
Judoon 2022-09-21 17:19:52 +08:00
虽然一切皆文件,但是 socket 是一个特殊的文件
你对 socket 的读写并不是读写磁盘(或者说这个 socket 的存在介质)啊 |
7
F12 2022-09-21 17:28:00 +08:00
业务提升远远大于通信的速度
|
8
yuanse 2022-09-21 17:30:11 +08:00 via Android
为什么会有这种想法🌚
|
9
msg7086 2022-09-21 17:31:01 +08:00
为什么在内存里的套接字读取速度会比硬盘上的套接字读取速度快?
|
10
debuggerx 2022-09-21 17:34:55 +08:00
|
11
Jirajine 2022-09-21 17:35:52 +08:00 2
unix socket 的文件路径只是起到一个寻址的作用,读写不涉及硬盘 IO 。
再者一般 sock 所在的 /tmp /run 等临时文件目录,已经是 tmpfs 也就是内存盘了。 |
12
Vegetable 2022-09-21 17:37:12 +08:00
这东西不是说一个文件,A 写进去,B 读出来,还得磁盘读写一遍
|
13
Xusually 2022-09-21 17:43:50 +08:00 via iPhone
放到 /dev/shm 之类的地方 只会创建 删除 socket 文件本身之类的快一些,并不会加快数据通信速度
服务起来 socket 就创建一次,不会对实际性能有什么帮助 |
14
learningman 2022-09-21 17:59:28 +08:00
unix socket 不走磁盘 IO 的,别想了
|
15
IvanLi127 2022-09-21 18:02:12 +08:00
我都怀疑你在侮辱前辈们的智商了 QAQ
|
16
sujin190 2022-09-21 18:10:35 +08:00
unix socket 又不是写到文件再读出来的,哥啊,暴露读书少了
|
17
Twnysta 2022-09-21 18:35:12 +08:00
PHP-FPM 数据库慢是在子进程连接的开销上,想提速最好看看怎么转换成长链接或者利用一些 cli 框架
|
18
adoal 2022-09-21 18:41:20 +08:00
你想到的,老司机们都想到了。在较新版本的各发行版里,用包管理机制安装的服务软件会把 PF_LOCAL 的 socket 默认建在 /run 下,而这个路径是一个 tmpfs ,建在内存里的。
/润 |
19
eason1874 2022-09-21 19:01:10 +08:00
不用自己修改了,现在大部分已经默认放在内存了,就是大家说的 /run 目录,你用 df -h 可以看到这个目录是 tmpfs
|
20
star7th 2022-09-21 19:21:54 +08:00
有什么用,单纯把入口放在内存又如何。mysql 的业务数据还是主要在硬盘上,那个才是瓶颈。
|
21
hxysnail 2022-09-22 08:23:58 +08:00
unix socket 是进程间通信,数据本来就是在内存里传输的,socket 文件只是利用文件系统做定位而已
|