型是基于I/O完成端口。
理论上这个机制在处理中等并发量的时候效率不错。
但是它有一个天生的短板,那就是内存管理。”
他画了一个内存分配的示意图。
“NT的内核在处理大量短生命周期的TCP连接时,每一次连接建立都会分配一块非分页内存池。
连接关闭之后,这块内存的回收依赖于内核的延迟回收机制。
在正常负载下,回收速度跟得上分配速度,没有问题。”
他在示意图的右侧画了另一条曲线,标注了“高频并发”。
“但在每秒数百笔支付请求的场景下,TCP连接的建立和断开速度远超内核回收的节奏。
非分页内存池会在短时间内被耗尽。
一旦非分页池枯竭,NT内核不会优雅地降级。
它会直接蓝屏。”
陈浩在白板上画了一个大大的方块,里面写了“BSOD”。
“整台服务器直接死掉。
这不是性能下降,或者响应变慢。
而是整个操作系统层面的崩溃。
更可怕的是,这个问题不是单点的。
如果你用NT做集群,负载均衡器把流量转到备用节点。
备用节点在同样的高并发下,同样的内存耗尽逻辑,同样会蓝屏。
所有的机器在几分钟之内全部死掉。”
他把马克笔放回架子上,转身看向三人。
“这不是我编出来的假设。
去年HOtmail被微软收购之后,从FreeBSD迁移到NT,第一个圣诞节就出了大规模宕机。
原因就是非分页内存池耗尽。
几千万用户的邮箱服务中断了将近八个小时。
微软的工程师花了三天才把系统完全恢复。
HOtmail处理的不过是邮件收发,不涉及资金流转。
你们做的是在线支付。
用户的钱在你的系统里流动。
如果在交易高峰期,系统蓝屏了,用户的转账扣了款但对方没收到,你觉得被宝还会被用户信任吗?”
会议室里没有人说话。
马克斯·列夫琴对于这个问题有些猜想,但是没有像陈浩解释的这么清晰。
他曾经想和玛斯克讨论下,最后都会变成争吵。
皮特·蒂尔的眼睛一直盯着白板。
本章未完,请点击下一页继续阅读!