我想使用 3 台服务器做 php 应用的负载均衡 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
w708833018
V2EX    PHP

我想使用 3 台服务器做 php 应用的负载均衡

  •  
  •   w708833018 2016-09-18 11:19:57 +08:00 4962 次点击
    这是一个创建于 3399 天前的主题,其中的信息可能已经有所发展或是发生改变。

    假如我有 3 台服务器, 一台服务器使用 nginx 做负载均衡,转发到另外两台应用服务器, 那么这两台应用服务器的配置是只有 php-fpm 呢,还是 nginx+php-fpm

    我看到网上的配置有 (nginx 负载均衡)+ (ngin + php-fpm)+(ngin+php-fpm) 也有 (nginx 负载均衡)+ (php-fpm)+(php-fpm)

    这两种配置架构有什么区别?一般都使用哪种?

    第 1 条附言    2016-09-18 17:50:57 +08:00
    我用 3 台机器对这两种设计做了一次测试

    并发 150 执行 5 次,结果:

    设计方案 每次请求响应时间

    php-fpm : 4.68 4.74 4.70 4.74 4.68


    nginx + php-fpm : 4.64 4.66 4.65 4.67 4.63

    结论是 nginx + php-fpm 这种设计在高并发下响应时间反而更快一点。
    13 条回复    2016-09-21 19:46:43 +08:00
    Sunyanzi
        1
    Sunyanzi  
       2016-09-18 13:26:56 +08:00
    别人怎么做不知道 ... 反正我的应用服务器只跑 php-fpm ... 除非同时兼任分发否则不会跑别的 ...

    我觉得如果在应用服务器上跑 nginx 却只连本地 php-fpm 的话 ... 这个 nginx 用的就完全没意义 ...

    这种反向代理架构的优点 ... 大概就是前端挂了的时候可以很方便的把后端一键顶上去送死吧 ...
    w708833018
        2
    w708833018  
    OP
       2016-09-18 14:05:42 +08:00
    @Sunyanzi 我跟你的想法一样,不过我问过很多群,不少人选择 ngin+php-fpm ,也有人选择 php-fpm 。没有人能清清楚楚的说明白这两种设计到底有什么优劣,我就很纠结。
    chenset
        3
    chenset  
       2016-09-18 14:47:43 +08:00
    同样纠结过的问题, mark
    ovear
        4
    ovear  
       2016-09-18 15:38:00 +08:00 via Android
    难道就我一个人是 Nginx with multiply apache 么。。
    fredcc
        5
    fredcc  
       2016-09-18 15:42:02 +08:00   1
    nginx 与 php-fpm 不在一台机器上时,要走 TCP 连接,效能和承载能力不如 nginx+php-fpm 走 unix domain socket ,这个对比测试很多。
    alexleft
        6
    alexleft  
       2016-09-18 15:48:13 +08:00
    如果是我设计,我会考虑用 lvs 做 HA 和负载均衡,然后每台服务器上部署一个nginx ,然后每台服务器上再部署 N 个 php-fpm 。因为一个php-fpm 很容易挂掉,物理资源可能也用不尽。
    nginx 上还可以合理把访问在不同的php-fpm 进程间做次一级的负载平衡。
    alexleft
        7
    alexleft  
       2016-09-18 15:51:20 +08:00
    换另外一种角度看, php-fpm 的集合其实就是应用程序池了,lvs+nginx 只是负载均衡网关。
    alex321
        8
    alex321  
       2016-09-18 17:58:21 +08:00
    外行人随便说一说, TCP 和 Unix Socket 的区别。
    https://easyengine.io/tutorials/php/fpm-sysctl-tweaking/
    w708833018
        9
    w708833018  
    OP
       2016-09-18 17:58:35 +08:00
    能给一个测试结论的链接吗
    w708833018
        10
    w708833018  
    OP
       2016-09-18 17:58:50 +08:00
    @fredcc 能给一个测试结论的链接吗
    fredcc
        11
    fredcc  
       2016-09-18 18:10:15 +08:00
    @w708833018 自己跑一下测试脚本也很快的吧。
    sunmonster
        12
    sunmonster  
       2016-09-18 22:56:30 +08:00
    咦,现在的 php-fpm 连的不是 unix socket 吗,我看的教程基本上都是 unix socket ,连 9000 端口的话应该很少了吧
    alpha1130
        13
    alpha1130  
       2016-09-21 19:46:43 +08:00
    建议是 nginx+php-fpm 的部署方式,跨服务器的 php-fpm 容易出现网络 IO 瓶颈
    如果可以直接向外网暴露服务器,通过域名访问,做 dns 轮询就可以了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2948 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 00:30 PVG 08:30 LAX 16:30 JFK 19:30
    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