V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Recommended Services
Amazon Web Services
LeanCloud
New Relic
ClearDB
okwork
V2EX  ›  云计算

一台机器 8 核 16G,和 负载均衡+四台 2 核 4G,两种方案都跑 wordpress 二开的 CMS,哪个方案更好?

  •  
  •   okwork · 2018-09-10 08:47:08 +08:00 · 4863 次点击
    这是一个创建于 2301 天前的主题,其中的信息可能已经有所发展或是发生改变。
    两个方案都不跑数据库,数据库是另外独立的机器。两个方案并发大约分别能抗到多少?
    27 条回复    2018-11-13 13:31:10 +08:00
    baialaps
        1
    baialaps  
       2018-09-10 08:58:52 +08:00   ❤️ 1
    安装 object-cache , 逻辑上多使用 wp_cache_set , wp_cache_get 等函数处理,你会很爽。
    daigouspy
        2
    daigouspy  
       2018-09-10 08:59:17 +08:00 via Android   ❤️ 1
    后者,机器不像人类,1+1 通常都会大于 2。
    night98
        3
    night98  
       2018-09-10 09:02:26 +08:00 via Android   ❤️ 1
    为什么感觉是前者?缓存走的内存。
    s609926202
        4
    s609926202  
       2018-09-10 09:04:10 +08:00 via iPhone   ❤️ 1
    我们是后者,但是坑比较多,
    sagaxu
        5
    sagaxu  
       2018-09-10 09:10:24 +08:00 via Android
    不如两台 4 核 8g
    okwork
        6
    okwork  
    OP
       2018-09-10 09:12:00 +08:00
    @s609926202 考虑后者的话:LVS + (nginx +wordpress)*4 这样坑会多出在哪个环节?
    bellchu
        7
    bellchu  
       2018-09-10 09:15:18 +08:00
    后者:一台负载均衡,后面两台 WP 并排,再后面一台独立的 SQL 服务器。
    westoy
        8
    westoy  
       2018-09-10 09:16:30 +08:00   ❤️ 1
    前者

    如果是物理机, 后者的优势是 IO 性能和网卡吞吐量比前者强一点

    但是, 后者这配置分明是 VPS 啊,IO 和网卡吞吐量都得受限母鸡, 再说你 8 核 16G 的机器去开个 4 台 2 核 4G 的 VPS 性能怎么也不可能比母鸡强吧
    okwork
        9
    okwork  
    OP
       2018-09-10 09:16:38 +08:00
    @baialaps 一拖 4 架构的话,object-cache 每个机器上都会重复生成 cache 吗?还是需要再用一台机器统一处理缓存?
    ywgx
        10
    ywgx  
       2018-09-10 09:18:46 +08:00
    楼主别折腾了,你只需要一个 CDN 而已
    qilishasha
        11
    qilishasha  
       2018-09-10 09:20:06 +08:00   ❤️ 1
    系统、系统级软件占用内存还是蛮高的,8H16G 这种量级的机器分多了反而划不来。总带宽不变情况下,还不如一台进行软负载均衡。
    rainex
        12
    rainex  
       2018-09-10 09:20:11 +08:00 via iPad   ❤️ 1
    前者更好。
    集群方案损耗是很大的,就像团队人多以后的沟通成本。
    而且环节越多问题越多,维护成本也高。

    当然,如果你是考虑故障冗余,那后者好。

    打个比方:
    2 个优秀程序员,比 4 个半吊子程序员或者 8 个萌新,效率更高出活更快。
    但如果考虑到程序员可能生病啊出车祸之类的,那就人多好了,可能无法按时完成,不过项目还能蹒跚前行 😀
    opengps
        13
    opengps  
       2018-09-10 09:35:08 +08:00 via Android   ❤️ 1
    必然第二种好,一般单机故障可以对外不表现故障,云架构之所以单机性能低了那么多还这么就行,看中的就是服务整体可用性
    opengps
        14
    opengps  
       2018-09-10 09:36:01 +08:00 via Android
    我甚至有些时候提倡 8 台 1 核 2G
    crayon83
        15
    crayon83  
       2018-09-10 10:08:47 +08:00   ❤️ 1
    显然负载均衡的更好呀。
    s609926202
        16
    s609926202  
       2018-09-10 10:09:23 +08:00
    @okwork 不清楚 LVS,我们是 AWS 的 EC2,,,
    rebill
        17
    rebill  
       2018-09-10 10:32:13 +08:00   ❤️ 1
    Nginx + PHP-NODE * 4 顺便在 Nginx 加一层 Proxy Cache
    ifconfig
        18
    ifconfig  
       2018-09-10 10:43:32 +08:00   ❤️ 1
    待过 2 家有关 PHP 高并发处理的公司,在 24 小时 20%时间单位内的百万级白发,建议前者,理由如下:
    1.并发优先下,因为没到那个压力级别不能体现出差距,其实 2 者差距不会太远。 后者每台服务器白白占了 1G 多 swap 和系统内存, 前者只消耗一份内存,亲,完完全全给你多出来 15G 给你用 php-fpm 啊,考虑一个 php-fpm 占用 30M,差距就出来了。
    2.前者调试部署上线方便点,后期再考虑 deployer 或 git 集成部署
    3.前者方便横向扩展, 等单机并发量上来后,再做镜像 copy 扩容。因为集群后 16G 的性能远远是 N 台 4G 的多倍(经验)
    qsbaq
        19
    qsbaq  
       2018-09-10 11:17:07 +08:00
    显然是负载均衡更好~
    jimzhong
        20
    jimzhong  
       2018-09-10 11:41:23 +08:00
    性能显然前者更好。故障冗余后者更好。
    batter
        21
    batter  
       2018-09-10 11:56:45 +08:00
    看访问量加缓存,加 cdn,单台应该足够了
    HFcbyqP0iVO5KM05
        22
    HFcbyqP0iVO5KM05  
       2018-09-10 17:03:44 +08:00 via Android
    负载均衡啥时候都能做,不如先用两台机器跑,看看性能极限。
    当然如果是已经遇到了性能极限,现在考虑的事情是加配置还是加机器的话,建议是加机器。
    jmk92
        23
    jmk92  
       2018-09-11 11:38:07 +08:00
    这个要看 LZ 对内存的需求,如果程序过多的依赖内存且没有缓存服务器的情况,优先前者。
    否则还是后者的扩展性更高,可以实现随时的弹性伸缩,业务的变更,机器的重启变更等等,都可以无缝的实现,不单单是故障冗余,当然,配置也不能太低,像你这种情况,两台 4 核的就可以了
    lscho
        24
    lscho  
       2018-09-11 22:05:27 +08:00
    和 23 楼观点一致,说简单点,如果程序没有太多依赖内存(比如某些内存缓存)。那么必然是第二种情况更好。单机架构永远没法和负载均衡相比。
    Nitromethane
        25
    Nitromethane  
       2018-09-21 16:25:23 +08:00
    两台,数据库必须做主从,防止丢数据。
    chinaglwo
        26
    chinaglwo  
       2018-09-26 15:17:11 +08:00
    我觉得重点是:明明一台机器可以搞得定,为什么要四台。同意 @rainex 说的
    qshujun
        27
    qshujun  
       2018-11-13 13:31:10 +08:00 via Android
    从我们测试来看,前者性能更好,后者可靠性更好,如果是我,会用 2*4u8g。
    如果有容器方案,会优先用容器。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1937 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 00:33 · PVG 08:33 · LAX 16:33 · JFK 19:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.