V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ililili
V2EX  ›  程序员

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

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

    /润
    eason1874
        19
    eason1874  
       2022-09-21 19:01:10 +08:00
    不用自己修改了,现在大部分已经默认放在内存了,就是大家说的 /run 目录,你用 df -h 可以看到这个目录是 tmpfs
    star7th
        20
    star7th  
       2022-09-21 19:21:54 +08:00
    有什么用,单纯把入口放在内存又如何。mysql 的业务数据还是主要在硬盘上,那个才是瓶颈。
    hxysnail
        21
    hxysnail  
       2022-09-22 08:23:58 +08:00
    unix socket 是进程间通信,数据本来就是在内存里传输的,socket 文件只是利用文件系统做定位而已
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2331 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 15:59 · PVG 23:59 · LAX 07:59 · JFK 10:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.