第322章 你错哪了(2/2)

投票推荐 加入书签 留言反馈

【畅读更新加载慢,有广告,章节不完整,请退出畅读后阅读!】

易的特征是什么?



    金额小,频率高。



    平均交易额不到二十美金,但并发量极大。



    高峰时段每秒钟涌进来的请求数可以到几百甚至上千。”



    陈浩在白板上画了一条时间轴,标注了流量曲线。



    “这种场景下,NT的IIS中间件层会发生什么?”



    他转过身看着玛斯克。



    玛斯克没有回答,眼睛盯着白板。



    陈浩继续在白板上写。



    “WindOWS NT 4.0的IIS,底层的线程调度模型是基于I/O完成端口。



    理论上这个机制在处理中等并发量的时候效率不错。



    但是它有一个天生的短板,那就是内存管理。”



    他画了一个内存分配的示意图。



    “NT的内核在处理大量短生命周期的TCP连接时,每一次连接建立都会分配一块非分页内存池。



    连接关闭之后,这块内存的回收依赖于内核的延迟回收机制。



    在正常负载下,回收速度跟得上分配速度,没有问题。”



    他在示意图的右侧画了另一条曲线,标注了“高频并发”。



    “但在每秒数百笔支付请求的场景下,TCP连接的建立和断开速度远超内核回收的节奏。



    非分页内存池会在短时间内被耗尽。



    一旦非分页池枯竭,NT内核不会优雅地降级。



    它会直接蓝屏。”



    陈浩在白板上画了一个大大的方块,里面写了“BSOD”。



    “整台服务器直接死掉。



    这不是性能下降,或者响应变慢。



    而是整个操作系统层面的崩溃。



    更可怕的是,这个问题不是单点的。



    如果你用NT做集群,负载均衡器把流量转到备用节点。



    备用节点在同样的高并发下,同样的内存耗尽逻辑,同样会蓝屏。



    所有的机器在几分钟之内全部死掉。”



    他把马克笔放回架子上,转身看向三人。



    “这不是我编出来的假设。



    去年HOtmail被微软收购之后,从FreeBSD迁移到NT,第一个圣诞节就出了大规模宕机。



    原因就是非分页内存池耗尽。



    几千万用户的邮箱服务中断了将近八个小时。



    微软的工程师花了三天才把系统完全恢复。



    HOtmail处理的不过是邮件收发,不涉及资金流转。



    你们做的是在线支付。



    用户的钱在你的系统里流动。



    如果在交易高峰期,系统蓝屏了,用户的转账扣了款但对方没收到,你觉得被宝还会被用户信任吗?”



    会议室里没有人说话。



    马克斯?列夫琴对于这个问题有些猜想,但是没有像陈浩解释的这么清晰。



    他曾经想和玛斯克讨论下,最后都会变成争吵。



    皮特?蒂尔的眼睛一直盯着白板。



    他是法律和金融背景,技术细节他插不上嘴。



    但陈浩刚才描述的那个灾难场景,从风险管理的角度来看,足以让任何一个公司老板崩溃的。



    玛斯克的表情很复杂。



    他想反驳,但他找不到切入点。



    HOtmail迁移NT后宕机的事情他听说过,当时他没太在意,认为是微软的运维团队不行。



    但陈浩把问题追溯到了NT内核的内存回收机制上。



    这是操作系统设计层面的缺陷,那就不是运维能解决的。



    “这类致命缺陷不只是这一个,如果需要,我还能够找到很多。”



    陈浩看着玛斯克,继续增加骆驼上的稻草。



    “每一个对于在线支付这样的场景,都是毁灭性的问题。



    所以,在技术架构这个问题上,你错了。



    不是皮特和马克斯在故意跟你作对。



    他们的直觉是对的。



    把整套支付系统押注在WindOWS NT上,等于把公司的命运交给了一个全是BUG的操作系统。”



    

章节目录