2000年 12月广州
潮湿的晚风裹挟着珠江三角洲特有的咸腥味,吹进了中信广场68层办公室。
我盯着 CRT显示器上不断跳动的系统日志,屏幕右下角的时间已经跳过了晚上十点。
办公室里只剩下我和老谭的工位还亮着灯,空调吹出的风力渐渐变小了。
“又崩了?”
老谭端着搪瓷杯走过来,杯沿结着圈褐色的茶渍。
他指着我屏幕上突然停滞的进度条,眉头拧成个疙瘩,“这是今晚第三次了。”
我敲下最后一行命令,烦躁地抓了抓头发:“21CN那边怕是又在搞动作。上午收到用户投诉,说发往 21CN的邮件总被退回,下午就开始频繁丢包。”
老谭呷了口茶,杯底的茶叶渣沉在杯底。
“他们的机房在石牌桥那边,电信直属的 IDC机房,带宽是我们的三倍。”
他往窗外瞥了眼,夜色里的电信大厦像座沉默的巨塔,“上个月升级后,他们的服务器集群已经能扛住千万级用户并发了。”
我想起三个月前行业峰会上见过的 21CN展台,穿着深绿色工服的工程师们演示着实时邮件转发。
背景板上“中国电信全资控股”的字样格外刺眼。
世纪龙公司的名头下,21CN邮箱从 1999年上线起就握着别人没有的王牌——中国电信遍布全国的节点机房和主干网络。
这次升级更是把老式的 SUN小型机换成了 HP的 DL380服务器集群,用 Cisco的负载均衡器做了七层分流,光是存储阵列就扩容到了 50TB。
“王蒙在的时候,我们的邮件队列处理比他们快。”
老谭的声音低了些,他从抽屉里翻出张泛黄的软盘。
标签上“1997.03核心模块 v1.2”的字迹已经模糊。
“这小子当年用 C写的 SMTP处理引擎,单线程能跑三百个并发。”
软盘插进驱动器的瞬间,发出咔嗒的机械声。
我调出王蒙留下的代码,屏幕上密密麻麻的指针操作看得人眼晕。
1997年的代码里还留着不少汇编级的优化。
内存池管理用的是最原始的链表结构,在当时 64MB内存的服务器上确实高效。
但现在面对每秒两千次的连接请求,就像用小舢板对抗海啸。
“你看这里。”
老谭指着屏幕上的循环体,“他把用户认证和邮件投递塞在同一个进程里,现在用户量上来,只要有一个垃圾邮件堵塞队列,整个系统就跟着卡壳。”
我看着王蒙师兄、网益前任软件工程师写的核心代码,陷入了沉思。
老谭说,还记得1999年3月份的那个暴雨天,王蒙抱着主机箱从办公室冲出去的背影。
当时,21CN的人开着辆白色雅阁在楼下等他。
传闻开出的薪水是我们的五倍,还承诺给他独立的研发团队。
现在想来,那些和我们系统高度相似的缓存机制、索引算法,恐怕都带着王蒙的编程习惯。
比如总在注释里画小恐龙的癖好。
“得把认证模块拆出来。”
我摸出铅笔在打印纸上演算,“用多线程重构投递队列,每个域分配独立的处理进程。”
笔尖划过王蒙当年画的恐龙涂鸦,纸页发出沙沙的声响。
老谭突然起身,翻找服务器机房的钥匙:“我去看看那批新到的 IBM服务器,上周刚从香港运过来的。把 POP3服务迁移过去,至少能分流三成压力。”
他的皮鞋踩在防静电地板上,发出空洞的回响。
机房里的空调冷得刺骨,机架上的服务器指示灯像排星星。
老谭摸着那台还没拆封的 IBM xSeries,突然叹了口气:“王蒙当年总说,等我们的用户过了五百万,就把存储换成光纤阵列。”
我蹲下来检查线缆,发现角落里堆着的旧硬盘上还贴着网益的 Logo。
1998年的时候,网益就是用这些 IDE硬盘搭起了最初的邮件系统,王蒙亲手焊的 SCSI转接卡现在还能用。
可现在 21CN那边已经用上了最新型的 FC交换机,光模块的传输速率是我们的十倍。
老谭突然用袖口擦了擦旁边架子上服务器的灰,露出下面贴着的资产标签:“你注意到没?21CN用的是 Oracle 8i集群,我们还在死守 Sybase 11.9。”
他从工具包里翻出本翻烂的《数据库优化大全》,“他们的 DBA团队能做到表空间实时扩容,我们上个月那次宕机,就是因为用户表满了没及时清日志。”
我想起上周调试时看到的邮件存储结构。
王蒙当年为了省空间,把邮件内容和附件存在同一个数据文件里。
现在单表已经涨到 15GB,每次查询都像在拖一艘生锈的船。
而 21CN那边早就用了分离存储。
本小章还未完,请点击下一页继续阅读后面精彩内容!
喜欢人生何处是归途:花城网事三十年请大家收藏:(m.zjsw.org)人生何处是归途:花城网事三十年爪机书屋更新速度全网最快。