阿里云主机的 nginx+php-fpm 环境如何优化高并发啊。。。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Recommended Services
Amazon Web Services
LeanCloud
New Relic
ClearDB
doyel
V2EX    云计算

阿里云主机的 nginx+php-fpm 环境如何优化高并发啊。。。

  •  
  •   doyel 2016-04-16 02:18:52 +08:00 11388 次点击
    这是一个创建于 3544 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现在已经是 4 台 4 核 8G 内存主机架了负载均衡了,但是最近高峰访问的时候基本上四台机器 top 了下 CPU 资源完全耗尽,按日志换算了下,访问量其实也不算非常大。

    php-fpm 试了下切换套接字模式和 TCP 模式,基本没差别

    现在动态模式 进程数 200-500 ,全负荷时主机内存占用 50%左右,唯独 CPU 使用率居高不下。。。

    求推荐优化意见和方案,谢谢各位了!

    ps. 所有 package 都是阿里云的 centos 源上安装的

    27 条回复    2016-07-06 19:14:42 +08:00
    yangqi
        1
    yangqi  
       2016-04-16 02:39:09 +08:00
    php-fpm 占用高的话应该考虑从 php 优化啊,多用缓存
    yaodong
        2
    yaodong  
       2016-04-16 06:26:34 +08:00
    初期几个着手点:

    - 先本地做分析 profiling ,工具是 xhprof 。找到 PHP 中的性能瓶颈,通过优化程序或者使用缓存的方式干掉它们。
    - 然后看 SQL 慢查询,找到比较慢的 SQL 查询。通过优化查询方式和数据库索引等方式干掉它们。
    - 升级到 PHP7 (如果你没有升级的话)。
    - 如果有前端 AJAX 请求,尝试优化、合并、浏览器缓存这些请求。
    msg7086
        3
    msg7086  
       2016-04-16 08:10:22 +08:00
    htop 先看看是谁吃了这么多 CPU 。
    另外我不知道这货 CPU 到底什么水平,如果 CPU 太烂也可以考虑换机器。
    ZE3kr
        4
    ZE3kr  
       2016-04-16 08:12:32 +08:00 via iPhone
    PHP 跑的什么?网站吗?
    ZE3kr
        5
    ZE3kr  
       2016-04-16 08:14:13 +08:00 via iPhone
    升级到 PHP7.0 ,数据库如果是 MySQL ,升级到 5.7 。然后在本地搞缓存,最好上 UPYUN 什么的吧,提高静态文件速度。
    gzelvis
        6
    gzelvis  
       2016-04-16 08:27:01 +08:00 via iPhone
    阿里那是硬盘 io 太烂导致的 cpu up ,没救
    shiny
        7
    shiny  
    PRO
       2016-04-16 08:28:18 +08:00
    高峰期看哪个进程占的 CPU , PHP 就先对 PHP profiling , MySQL 就查 SQL
    hellojinjie
        8
    hellojinjie  
       2016-04-16 08:58:25 +08:00 via Android
    cpu 利用率高,看是哪个空间的, sys 还是 user 的,要是 sys 的那没救了
    ug888168
        9
    ug888168  
       2016-04-16 09:19:02 +08:00 via Android
    可以考虑一下用 opcache 缓存 php ,应该能降低 CPU 负荷
    millken
        10
    millken  
       2016-04-16 09:39:56 +08:00 via Android
    放弃 fpm,拥抱 swoole
    lbp0200
        11
    lbp0200  
       2016-04-16 09:40:58 +08:00 via Android
    加服务器
    oott123
        12
    oott123  
       2016-04-16 09:41:37 +08:00
    有 MySQL 的话,改用阿里云自己的 RDS 试试看吧……
    id4alex
        13
    id4alex  
       2016-04-16 10:19:37 +08:00
    nginx 并发上线卡一道吧,之前就是搜索引并发直接搞挂了,后来在 nginx 卡了每秒的并发基本解决 90%问题
    doyel
        14
    doyel  
    OP
       2016-04-16 21:35:36 +08:00
    @oott123 已经是 RDS 了。。。
    doyel
        15
    doyel  
    OP
       2016-04-16 21:36:25 +08:00
    @msg7086 pp-fpm 吃 CPU 厉害。。。所以我觉得是 FASTCGI 运行效率太低了。。。要么就是真的这破机器运算能力太差。。。
    odirus
        16
    odirus  
       2016-04-17 08:35:28 +08:00
    @ug888168 +1 ,大部分情况下都能有非常明显的效果
    misty8873
        17
    misty8873  
       2016-04-17 10:46:13 +08:00 via iPhone
    兄弟,还是来我这用物理机吧。。。
    denghongcai
        18
    denghongcai  
       2016-04-17 12:38:13 +08:00
    你也不说下你并发的数量到底是多少
    denghongcai
        19
    denghongcai  
       2016-04-17 12:40:14 +08:00
    阿里云上,用 Laravel 这种慢框架, PHP7+RDS ,双核 4G 内存,非 IO 优化实例,单台机器大概 250QPS
    doyel
        20
    doyel  
    OP
       2016-04-17 15:34:00 +08:00
    @denghongcai 每秒也就千次不到。。。。
    denghongcai
        21
    denghongcai  
       2016-04-17 15:42:28 +08:00
    @doyel 单台千次?那其实还挺正常的,看看 RDS 的日志 QPS 到了多少?看看 CPU 的负载是耗在 sys 还是 usr 上
    doyel
        22
    doyel  
    OP
       2016-04-17 19:50:50 +08:00
    @denghongcai 总共。。。
    doyel
        23
    doyel  
    OP
       2016-04-17 19:53:06 +08:00
    @denghongcai 峰值 QPS 5000
    aliyunservice
        24
    aliyunservice  
       2016-04-18 11:49:40 +08:00
    @yaodong 建议不错,建议楼主可以先针对这几点分析优化下哦。
    xiaooloong
        25
    xiaooloong  
       2016-04-20 16:53:32 +08:00
    虚拟机的单核心性能确实没有有物理机的好
    njwangchuan
        26
    njwangchuan  
       2016-07-06 13:29:48 +08:00
    4 台 4 核 8G 内存主机,换成 8-12 台 2 核 4GB 试试。话说不能自动扩展的云计算服务器都是耍流氓。
    doyel
        27
    doyel  
    OP
       2016-07-06 19:14:42 +08:00 via iPhone
    @njwangchuan 太同意这句话了……不能按 lb 负载情况自动扩张的根本意义不大
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3316 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 05:01 PVG 13:01 LAX 21:01 JFK 00:01
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86