跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 求助! PHP -fpm 并发配置
未分類
28 12 月 2020

求助! PHP -fpm 并发配置

求助! PHP -fpm 并发配置

資深大佬 : edk24 7

服务器配置 4 核 16g 100 个设备瞬间并发 300+, cpu 瞬间 80% 90%, 求优化建议

没有第三方扩展, 框架 yii2, 阿里云数据库, 在服务器上就一个 redis6.0 和 php nginx

人都要崩溃了…

php-fpm.conf

pm = dynamic pm.max_children = 250 pm.start_servers = 100 pm.min_spare_servers = 50 pm.max_spare_servers = 150 pm.max_requests = 2048 pm.process_idle_timeout = 10s request_terminate_timeout = 8s request_slowlog_timeout = 1s slowlog = var/log/slow.log 

大佬有話說 (28)

  • 資深大佬 : wangbenjun5

    那就换 go 重写呗。。。

  • 資深大佬 : rekulas

    听你描述 php 这边没啥优化价值 应该去优化系统吧 充分利用 redis 可以提速 5-10x

  • 資深大佬 : towser

    并发一直很高就把进程改为静态启动( pm = static ),算好内存把进程数拉满。不过提升不会很大。profile 看看性能瓶颈在哪,如果卡在 CPU 上就只能加机器。

  • 資深大佬 : heart4lor

    应该从代码逻辑层面优化吧,哪里慢改造哪里

  • 資深大佬 : haiyang416

    降低 pm.max_children 和 pm.start_servers,这个要根据实际业务情况测试,进程太多切换开销也会增加。
    然后检查业务逻辑,慢查询之类的,检查请求响应时间。
    如果业务逻辑没有优化空间就根据响应时间和目前的并发数量加机器。
    如果业务部分简单,可以尝试迁移到 Swoole/RoadRunner/PM/Workerman 之类的常驻进程的 Server 上。

  • 資深大佬 : sampeng

    cpu 已经 100%改参数毫无意义。瓶颈在业务逻辑的消耗上

  • 資深大佬 : linoder

    并发 300+就不行了 应该是你响应时间过长 业务代码找原因吧

  • 資深大佬 : shlabc

    试试以下参数,我用的所有服务都是源码编译的

    pm = dynamic
    pm.max_children = 800
    pm.start_servers = 600
    pm.min_spare_servers = 300
    pm.max_spare_servers = 800
    pm.max_requests = 10240

  • 主 資深大佬 : edk24

    @wangbenjun5 时间赶不及啊大哥….

  • 主 資深大佬 : edk24

    @rekulas 业务中大量用了 redis 也没有请求慢…

  • 資深大佬 : GGGG430

    opcache 配置了吗

  • 資深大佬 : wangbenjun5

    你看看单个请求消耗多大,有没有 CPU 密集型操作

  • 主 資深大佬 : edk24

    @GGGG430 谢谢, 我在发帖的同时开启 opcache 做测试, 通过了 还是太年轻了..

  • 資深大佬 : lifeintools

    这是你代码的问题。。这个并发 也不是很高啊

  • 資深大佬 : qa2080639

    opcache 很强的 居然没开

  • 資深大佬 : xiaoriri666

    我阿里云轻量级 1h2g 的这并发轻轻松松

  • 資深大佬 : zhuzhibin

    有无把 debug 关了?

  • 資深大佬 : veike

    @xiaoriri666 要看一次请求处理多少业务

  • 資深大佬 : hantsy

    有没有人用 PHP 8 JIT 的?

  • 資深大佬 : we3613040

    100 个设备啥意思? 100 个服务器? 还是 100 设备请求?

  • 主 資深大佬 : edk24

    @we3613040 哈哈 客户端数量, 模拟真人, 但是每个客户端要同时发出 n 个请求

  • 資深大佬 : we3613040

    @edk24 也可以考虑用 swoole 常驻内存方案

  • 資深大佬 : HiCode

    试一下这个:

    https://gitee.com/haimadongli001/scf_php_cgi_proxy

    PHP 并发问题不好处理。

  • 主 資深大佬 : edk24

    @we3613040 关键是二开, 而且时间 jing 不然我也选择 swoole 开发了

  • 主 資深大佬 : edk24

    @HiCode 哈哈 要是重头就用 swoole 了 其他太折腾 刚好有使用经验

  • 資深大佬 : HiCode

    @edk24 这个项目不需要重新开发代码,可以无缝使用你现有得 php 代码,然后用云函数做运行时。认真看介绍,会有惊喜。

  • 資深大佬 : Evilk

    我记得,PHP7,opcache,是,默认开启的

  • 主 資深大佬 : edk24

    @Evilk 你记一下这个坑吧, lnmp 一键安装脚本安装的, 不会自动配置这项, 我安装 7.4 至少没配置开启

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具