• 请不要在回答技术问题时复制粘贴 AI 生成的内容
ililili
V2EX  ›  程序员

能不能在 Linux 中分配一个内存空间,然后把 mysql.sock 和 PHP -fpm.sock 放在里面,达到提升速度的效果?

  •  1
     
  •   ililili · Sep 21, 2022 · 3308 views
    This topic created in 1509 days ago, the information mentioned may be changed or developed.
    21 replies  •  2022-09-22 08:23:58 +08:00
    jifengg
    jifengg
    Sep 21, 2022
    1
    "/dev/shm"
    请,但是会提高多少速度?以及,提高了什么速度?
    ililili
    ililili
    OP
    Sep 21, 2022
    2
    我是这么想的
    这俩 sock 是 NGINX 、MySQL 、PHP 三者相互通信的纽带
    在内存里的读取速度会比硬盘快
    以此提高 LNMP 环境下网站的运行速度
    julyclyde
    julyclyde
    Sep 21, 2022
    3
    提高不了的,别想了
    julyclyde
    julyclyde
    Sep 21, 2022
    4
    @ililili 关键问题是:
    并没有读什么 /多少内容
    ltkun
    ltkun
    Sep 21, 2022 via Android
    5
    RamDisk 吗 Linux 支持 tmpfs
    Judoon
    Judoon
    Sep 21, 2022
    6
    虽然一切皆文件,但是 socket 是一个特殊的文件
    你对 socket 的读写并不是读写磁盘(或者说这个 socket 的存在介质)啊
    F12
    F12
    Sep 21, 2022
    7
    业务提升远远大于通信的速度
    yuanse
    yuanse
    Sep 21, 2022 via Android
    8
    为什么会有这种想法🌚
    msg7086
    msg7086
    Sep 21, 2022
    9
    为什么在内存里的套接字读取速度会比硬盘上的套接字读取速度快?
    Jirajine
    Jirajine
    Sep 21, 2022❤️2
    11
    unix socket 的文件路径只是起到一个寻址的作用,读写不涉及硬盘 IO 。
    再者一般 sock 所在的 /tmp /run 等临时文件目录,已经是 tmpfs 也就是内存盘了。
    Vegetable
    Vegetable
    Sep 21, 2022
    12
    这东西不是说一个文件,A 写进去,B 读出来,还得磁盘读写一遍
    Xusually
    Xusually
    Sep 21, 2022 via iPhone
    13
    放到 /dev/shm 之类的地方 只会创建 删除 socket 文件本身之类的快一些,并不会加快数据通信速度
    服务起来 socket 就创建一次,不会对实际性能有什么帮助
    learningman
    learningman
    Sep 21, 2022
    14
    unix socket 不走磁盘 IO 的,别想了
    IvanLi127
    IvanLi127
    Sep 21, 2022
    15
    我都怀疑你在侮辱前辈们的智商了 QAQ
    sujin190
    sujin190
    Sep 21, 2022
    16
    unix socket 又不是写到文件再读出来的,哥啊,暴露读书少了
    Twnysta
    Twnysta
    Sep 21, 2022
    17
    PHP-FPM 数据库慢是在子进程连接的开销上,想提速最好看看怎么转换成长链接或者利用一些 cli 框架
    adoal
    adoal
    Sep 21, 2022
    18
    你想到的,老司机们都想到了。在较新版本的各发行版里,用包管理机制安装的服务软件会把 PF_LOCAL 的 socket 默认建在 /run 下,而这个路径是一个 tmpfs ,建在内存里的。

    /润
    eason1874
    eason1874
    Sep 21, 2022
    19
    不用自己修改了,现在大部分已经默认放在内存了,就是大家说的 /run 目录,你用 df -h 可以看到这个目录是 tmpfs
    star7th
    star7th
    Sep 21, 2022
    20
    有什么用,单纯把入口放在内存又如何。mysql 的业务数据还是主要在硬盘上,那个才是瓶颈。
    hxysnail
    hxysnail
    Sep 22, 2022
    21
    unix socket 是进程间通信,数据本来就是在内存里传输的,socket 文件只是利用文件系统做定位而已
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4276 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 81ms · UTC 02:20 · PVG 10:20 · LAX 18:20 · JFK 21:20
    ♥ Do have faith in what you're doing.