“风险点,”他边画边说,“事件驱动模型的稳定性是最大的。如果事件循环出bug,整个服务器会挂。需要大量测试。”
“所以测试组要尽早介入,”凌云说,“让他们写自动化测试,覆盖边界情况。特别是高并发下的内存泄漏和文件描述符耗尽。”
“性能调优怎么做?”
“用oprofile采样,找热点函数。网络I/O用tcpdup抓包分析。关键路径的汇编代码要审查。”
艾瑞克点头,在甘特图上标记了几个性能测试的时间点。
办公室安静下来,只有艾瑞克写字的沙沙声,和窗外偶尔传来的汽车声。
九点三十分,菲奥娜再次敲门:“老板,十点你有会,和暴雪的电话会议。”
“知道了。”凌云说。
艾瑞克合上笔记本,站起来:“我下午出详细的任务分解,明早发给你。”
“好。”凌云也站起来,从桌上拿起一个U盘递给艾瑞克,“这里面有更详细的设计文档,还有我收集的一些论文,关于事件驱动和高并发架构。你有空看看。”
艾瑞克接过U盘,插进口袋。
“另外,”凌云说,“下周三开项目启动会,全体成员参加。你准备一下技术宣讲。”
“明白。”
艾瑞克走到门口,手放在门把上,又停住,回头:“老板。”
凌云抬头。
“这个项目,”艾瑞克说,“如果做成了,星辰系统在服务器市场就有了一席之地。但如果失败了……”
“不会失败。”凌云打断他。
艾瑞克看着他,几秒钟后,点了点头,拉开门走了出去。
办公室重新安静。凌云走到白板前,看着那张日程表。他拿起红笔,在“正式发布”旁边画了一个小小的星号。
然后他擦掉白板上所有的字迹,只留下那个星号。
窗外的阳光完全照进来了,在橡木地板上投出明亮的光斑。
十点的电话会议,要跟暴雪谈战网扩容。他们等不了六个月,可能要求先用临时方案。
临时方案……也许可以先做一个简化版,只处理长连接,撑过这几个月。
他走回办公桌,打开笔记本,新建一个文档。标题:“Nex Lite – 临时方案”。
手指放在键盘上,停顿片刻,然后开始敲击。他想起后世那个叫Ngx的服务器。1997年,它还没诞生。它的作者,伊戈尔·赛索耶夫,现在可能还在俄罗斯某家公司写代码。
但等不到2004年了。互联网的发展速度比记忆中更快,需求已经冒头。谁先解决,谁就占住这个关键位置。
他转身走回白板前,看着那六条开发目标。然后拿起红笔,在“高并发处理能力”
五万并发,只是开始。
未来的互联网,会有千万人在线同时抢购,会有亿级并发的消息推送,会有实时互动的全球直播。那个世界需要新的基础设施。
而星辰要做的,就是提前把它建好。
他擦掉白板上的所有字迹,收拾好自己的东西,离开会议室。
走廊里,几个工程师正围在一起讨论星际争霸的战术,看到他,停下来打招呼。
“凌总。”
凌云点头,走过时停了一步:“艾瑞克在办公室吗?”
“在,刚回来。”
“让他半小时后到我办公室。带上内核组和网络组的人。”
“好的。”
凌云继续往前走,经过星语团队的区域时,他听见有人在抱怨:“Apache又崩了,上午高峰期,掉了两百个连接。”
“日志报什么?”
“内存不足,fork失败。”
“得重启了。”
“正在重启。”
需求就在那里,真实,而且很迫切。
现在,就要去解决了。