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

请教 PHP -fpm 每个进程占用 70MB 怎么解决

  •  
  •   madfishy · 2017-08-02 09:26:00 +08:00 · 3434 次点击
    这是一个创建于 2671 天前的主题,其中的信息可能已经有所发展或是发生改变。
    跑个 wordpress,每天 2 千 IP,开的静态,8 个线程

    已经设置了 512 就重启线程但是好像不起作用,请教一下有经验的 v 友

    pm.max_requests = 512
    pm.process_idle_timeout = 10
    22 条回复    2017-08-08 11:00:40 +08:00
    shooyaaa
        1
    shooyaaa  
       2017-08-02 10:08:53 +08:00
    如果没有内存泄露的话,应该是加载的 module 太多导致的。可以尝试优化一下 php.ini
    kungfuchicken
        2
    kungfuchicken  
       2017-08-02 10:46:35 +08:00
    禁用掉不需要的扩展
    wei745359223
        3
    wei745359223  
       2017-08-02 11:22:40 +08:00
    开启 opcache 试试
    madfishy
        4
    madfishy  
    OP
       2017-08-02 11:41:42 +08:00
    @wei745359223 已经开了的,我用 apcu 做缓存不知道有没有关系
    madfishy
        5
    madfishy  
    OP
       2017-08-02 11:42:11 +08:00
    @kungfuchicken 多谢,但是没有什么太多余的拓展
    cst4you
        6
    cst4you  
       2017-08-02 11:43:33 +08:00
    拿内存换性能, 不够就加
    iyaozhen
        7
    iyaozhen  
       2017-08-02 12:34:48 +08:00 via Android
    升级 php7,换成 opcache。其它缓存扩展有很多 bug
    pqee
        8
    pqee  
       2017-08-02 12:42:42 +08:00 via Android
    不用缓存的话内存占用才会降低呀
    madfishy
        9
    madfishy  
    OP
       2017-08-02 15:15:57 +08:00
    @iyaozhen 已经升级到 7.1 了,用的 OPcache,但是还搭配用了 acpu
    madfishy
        10
    madfishy  
    OP
       2017-08-02 15:18:07 +08:00
    @cst4you 内存是够的,关键单线程 php-fpm 占内存太高,有的都 90MB 了。感觉不正常,所以来请教一下看看有没有有 wordpress 经验的朋友
    Moker
        11
    Moker  
       2017-08-02 17:23:48 +08:00
    WP 插件不用的关掉 另外 页面加下缓存
    ykjsw
        12
    ykjsw  
       2017-08-02 17:58:47 +08:00 via iPhone
    重新编译 php
    ivmm
        13
    ivmm  
       2017-08-02 18:00:51 +08:00
    考虑一下用 lcache 配合 apcu 优化对象缓存 https://www.mf8.biz/wp-lcache/
    owenliang
        14
    owenliang  
       2017-08-02 18:03:51 +08:00
    是 wordpress 的锅,关闭个别垃圾插件,因为他们会分配比较多的内存,导致进程的虚存偏高。
    ivmm
        15
    ivmm  
       2017-08-02 18:03:55 +08:00
    首先应该在闲时禁用所有插件,再一个一个打开排除插件影响。 有些时候往往是你意想不到的插件拖慢了速度

    然后再考虑我说的 lcache,还可以考虑

    Nginx 的 factcgi cache https://www.mf8.biz/wordpress-fastcgi-cache/
    或者 OpenResty 的 redis 做 cache https://www.mf8.biz/openresty-redis-cache-wp/

    PHP 能升到最新版本就最新版本。

    如果都不行,真的得考虑 php-fpm 的玄学参数设置了
    madfishy
        16
    madfishy  
    OP
       2017-08-02 18:17:33 +08:00
    @ivmm 我就看过这篇用 wp Lcache 和 apcu 的。
    插件其实就两三个,搞的头大
    没用 lcache 之前也是单个进程就最高占到 90MB,尤其后台写文章操作更严重
    abccccabc
        17
    abccccabc  
       2017-08-02 18:22:53 +08:00
    最好是贴 PHP-fpm 的相关配置出来,我的 WP3.7 以及 wp 最新版,没有出现你说的那种情况。而且我的 IP 量比你的多点。
    madfishy
        18
    madfishy  
    OP
       2017-08-02 18:33:00 +08:00
    @abccccabc 配置就是下面这样,没什么特殊的好像,可能还是 wordpress 有什么问题,我的是 4.75 版本

    pm = ondemand
    pm.max_children = 10
    pm.start_servers = 8
    pm.min_spare_servers = 3
    pm.max_spare_servers = 10
    pm.max_requests = 1024
    pm.process_idle_timeout = 180
    request_slowlog_timeout =5
    slowlog = /home/wwwroot/7.1/logs/www.slow.log
    ivmm
        19
    ivmm  
       2017-08-03 14:17:12 +08:00
    @madfishy 你文章有几篇?
    abccccabc
        20
    abccccabc  
       2017-08-05 13:42:24 +08:00
    @madfishy
    这里有一篇关于优化的: https://blog.linuxeye.cn/380.html
    pm = ondemand,没用过这个值,一般用 dynamic 或者 static

    另外,你也可以从 slowlog 日志中看出,那里比较的耗性能。
    madfishy
        21
    madfishy  
    OP
       2017-08-08 03:14:10 +08:00
    @ivmm 现在 3 千多点

    @abccccabc 用了那个模式,好了一些

    换了 redis 替换掉 apcu 后,好了很多...
    abccccabc
        22
    abccccabc  
       2017-08-08 11:00:40 +08:00
    再用上 fastcgi 就能和我的网站速度一样快了。哈哈。

    目前我的网站使用 tengine+php7+mysql5.5 —— fastcgi,跑得很溜,CPU 波动在 30%以下。不过我对 wp 修改了好多,去掉了后台某些东西,至少添加文章时,不会感觉到卡。前台模板也将一些不兼容的或者耗时的全部改掉了。

    我的 wp 用的是 memcache,运行两年多没有出现过问题;我 QQ 群里的群主用 redis 到是经常自杀,没怎么玩过 redis。我的配置为 1 核 CPU1G 内存。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2872 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 09:20 · PVG 17:20 · LAX 01:20 · JFK 04:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.