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

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

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

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