加入书签 | 推荐本书 | 返回书页 | 我的书架

全本小说 -> 都市小说 -> 1980:从报名参军开始

第1215章 国庆放假

上一章        返回最新章节列表        书末章

整个九月,王延光都没有回丰阳,每天的生活十分规律,早上七点起床,洗漱完毕去食堂吃早餐,然后到教室上大课。

中午吃完饭回宿舍午休,下午要么是小组讨论,要么是全班同学一起上专题大课。

大课...

钟英推了推眼镜,镜片后的目光透着几分沉静与审视。她没急着回答,而是把安安上下打量了一番——少年身量抽高了些,肩线比去年更显利落,眉宇间褪去了高中生特有的稚气,却未添浮躁,反倒有种少见的笃定感。她记得去年他初来时,还蹲在服务器机柜前帮着理网线,一边记笔记一边问“为什么TCP三次握手不能简化成两次”,那种带着泥土味儿的求知欲,至今让她想起就忍不住嘴角微扬。

“安安,”她终于开口,声音不高,却字字清晰,“你爸上次来,说你数学和编程底子扎实,逻辑也清楚。但实习不是听故事,也不是看热闹——你想真学东西,就得从最脏最累的活干起。”

安安点点头,没接话,只把背包带往肩上正了正。

钟英起身,绕过办公桌走到他面前,递过一张泛黄的A4纸:“这是咱们去年八月上线的OICQ 1.2版用户增长曲线图,横轴是天数,纵轴是日活,红色虚线是预设增长目标。你看,第37天开始,曲线突然塌了一截,跌幅18%,但三天后又猛往上窜,单日新增破两万。你知道那三天发生了什么?”

安安接过纸,指尖抚过那道陡峭的断崖。他没翻手机查资料,也没假装思考,直接说:“服务器被攻击了。不是黑客,是‘刷号党’用脚本批量注册马甲号,占满连接池,导致正常用户登录超时。你们凌晨两点紧急扩容了三台Linux服务器,把MySQL主库读写分离,同时把验证码加到了登录流程第三步——但验证码图片用了base64编码嵌入HTML,被爬虫自动识别了,所以撑不过48小时。”

钟英眼睫一颤,没说话,只是侧身让开门口:“跟我来。”

他们穿过嘈杂的开放式工位区,键盘敲击声、电话铃声、年轻人压低嗓音争辩技术方案的声音混作一片。走廊尽头是间不足十平米的杂物间,门牌上用马克笔写着“运维坟场”。推开门,一股混合着散热硅脂与旧电路板焦糊味的气息扑面而来。四台二手DELL塔式机堆在角落,机箱盖敞着,风扇嗡嗡作响;墙上钉着密密麻麻的便签纸,蓝墨水写着“07.15 内存泄漏排查失败”“08.03 DNS劫持误判”“09.11 SSL证书续期忘改Nginx配置”。

钟英从最底下抽出一个灰扑扑的铁盒,打开,里面整整齐齐码着三十多张软盘。“这是OICQ 1.0到2.0所有内测版源码备份,物理隔离。我们不用SVN,也不上Git,因为Tony怕代码被爬。”她抽出最上面一张,“这张是1.3版,修复了QQ消息乱码BUG,但引入新问题——当用户昵称含中文标点时,客户端崩溃率上升至7%。你爸提过,说这叫‘修一个窟窿,漏三桶水’。”

安安伸手想拿,钟英却将软盘按回盒中:“先别碰。我要你用三天时间,只做一件事:复现这个崩溃。用你现在手里的笔记本,装Windows 98,配VC++6.0,连不上公司内网,所有调试工具自己编译。崩溃日志里有一行‘Access Violation at 0x0045F21A’,你得找到它对应的汇编指令,再逆向出C语言原始逻辑。能做到吗?”

安安没点头,也没摇头。他弯腰从背包侧袋取出一台东芝T1900,铝镁合金外壳磨得发亮,掀开屏幕的动作像掀开一本旧书。他没接电源,电池还有73%——这是王延光教他的习惯:重要任务必须脱离外部供电,防断电,也防干扰。

“我需要一份1.3版的release notes。”他说。

钟英嘴角终于松动半分:“在你右手边第三个抽屉,蓝色文件夹,第七页。”

安安拉开抽屉,果然看见牛皮纸夹。他抽出文件,指尖划过一行行小字,忽然停在“修复好友列表刷新延迟”这一条上,轻轻念出来:“……优化OnPaint事件触发频率,由每秒30次降至每秒8次。”他抬头,“钟姐,降低频率是为省CPU,可为什么选8次?不是7次或9次?”

钟英怔了一下。这个问题,连Tony都没问过。

“因为人眼临界闪烁频率是8Hz。”安安合上文件夹,“低于这个值,界面会‘卡’;高于它,CPU占用飙升,老式奔腾133根本扛不住。你们在性能和体验之间,掐着毫秒找平衡点。”

钟英没应声,转身从桌上拿起半瓶矿泉水,拧开喝了一口。喉结滚动时,她忽然说:“你爸第一次来,站在机房门口看了十五分钟,一句话没说。走的时候只留下一张纸条,写的是‘服务器机柜下面垫块橡胶,不然震动会让SCSI硬盘寻道错位’。”

安安低头看着自己膝盖上摊开的笔记本,屏幕映出他瞳孔里跳动的蓝光。他知道父亲没学过计算机,但见过太多工地塔吊基座怎么防震,知道混凝土浇筑要留伸缩缝,明白所有精密系统都怕共振——那些经验散落在生活褶皱里,被父亲随手捡起来,就变成了能刺穿技术迷雾的针。

“钟姐,”他忽然开口,“我爸说,最难的不是写代码,是写完之后敢不敢删掉三行。”

钟英抬眼。

“比如‘好友在线状态轮询’那段,他猜你们肯定写了心跳包保活,但每次心跳都要建TCP连接,太耗资源。其实用UDP发空包就行,失败了再切TCP——但你们不敢删,怕丢状态。”安安手指点着屏幕上一行虚拟代码,“因为没人愿为‘可能出错’担责。可所有大公司,都是踩着别人不敢删的代码堆起来的。”

杂物间安静得能听见硬盘磁头寻道的轻响。窗外华强北的喇叭声、电动车警报声、菜市场吆喝声,全被这方寸之地隔绝在外。钟英慢慢把矿泉水瓶放回桌面,玻璃瓶底与木纹接触,发出轻微“嗒”一声。

“明天早上九点,”她说,“你来机房值班。Tony会教你手动重启服务集群。记住,不是点鼠标,是敲命令行。如果主数据库挂了,你要在五分钟内切到备用节点,并确保消息不丢一条——OICQ现在有23万在线用户,平均每秒收发消息1400条。少一条,就有用户以为自己被拉黑。”

安安合上笔记本:“需要背命令集吗?”

“不需要。”钟英转身走向门口,手搭在门框上顿了顿,“需要记住的是,你爸当年在丰阳修第一条水泥路,搅拌机坏了,全村人蹲在路边用手拌砂浆。没人问‘标准流程是什么’,只问‘今天路能不能通’。”

第二天清晨六点,安安已坐在机房。空调冷风嘶嘶吹着,他面前摆着三台显示器:左屏是监控面板,右屏是命令终端,中间屏开着Notepad,上面密密麻麻记着昨晚整理的故障树。PONY拎着豆浆油条进来时,发现少年正用铅笔在草稿纸上画拓扑图,线条凌厉,标注精准,连交换机端口编号都标得清清楚楚。

“哟,这么早?”PONY把早餐放在他手边,凑近看屏幕,“这监控告警阈值设得有点激进啊,CPU 85%就发橙色预警?”

“85%是临界点。”安安撕开油条包装,“上周三14:27,CPU冲到92%,但告警没响。我查了日志,是zabbix_agentd进程被kill -9了,但监控脚本没做进程存活校验。Tony说这是小概率事件,懒得修。”

PONY噎了一下,挠挠头:“……这都被你挖出来了?”

“我爸说,所有‘小概率’,叠加三年就是必然。”安安咬了口油条,酥脆声在寂静机房里格外清晰,“他还说,修路时最怕的不是暴雨,是雨后第二天太阳太大——水泥表面干得快,底下还在返潮,三天后准裂。”

PONY愣住,忽然笑出声,笑声惊飞了窗外电线上的麻雀。

七点半,Tony带着两个工程师进来,开始教安安集群维护。当第一台Web Server因内存溢出宕机时,安安的手指已在键盘上敲出一串字符:“ssh -t [email protected] ‘systemctl restart nginx’”。命令执行完毕,他没看屏幕,只问:“nginx配置文件第47行,worker_connections是不是该从512调到1024?”

Tony一愣,翻开自己电脑里的conf文件——果然,47行末尾有个被注释掉的“#1024”。

“你怎么知道?”

“昨天监控面板显示,峰值连接数是987。”安安调出历史数据图,“而512×2=1024,你们预留了双倍冗余。但注释没删,说明犹豫过。”

Tony和另两人面面相觑,最后拍了下安安肩膀:“行,这小子,够格进核心组。”

上午十一点,钟英端着保温杯进来,杯壁凝着水珠。她没说话,只把杯子放在安安手边,然后点了点监控屏右下角一个不起眼的红点——那是备用数据库节点,常年离线维护状态。此刻,红点正缓慢呼吸般明灭。

“它醒了。”钟英说,“你爸昨晚十点零七分,让袁总转了三百万到我们监管账户。备注写的是‘备用节点扩容基金’。”

安安握着温热的保温杯,没看转账记录,只盯着那个明明灭灭的红点。他忽然想起昨夜父亲送他到机场时说的话:“安安,记住,所有看起来坚不可摧的东西,拆开看都是螺丝钉和胶水。而真正牢靠的,永远是那些愿意在别人睡觉时拧紧最后一颗螺丝的人。”

窗外,深圳湾的云层裂开一道缝隙,阳光斜斜劈进机房,在布满灰尘的光柱里,无数微粒正无声翻滚、升腾、聚散。安安喝了口豆浆,舌尖尝到豆子的微苦与焦香——这味道让他想起丰阳老家晒场上翻动的黄豆,想起父亲蹲在猕猴桃架下掐掉疯长的侧枝,想起黄思谦副组长在考察车上说的“长期考察”。

原来所谓远见,不过是把每一天都当成最后一天来过;所谓机遇,不过是当所有人盯着远方时,有人俯身拾起了脚下那颗松动的螺丝。

中午十二点,安安准时出现在员工食堂。他端着餐盘路过PONY身边时,悄悄塞过去一张纸条。PONY展开一看,上面是几行手写公式:

【用户LTV = (ARPU × 平均留存月数) /(1 + 折现率)^n】

【当前ARPU≈0,但若接入电信计费网关,按0.1元/条短信通道费测算,LTV可达2.3元】

【参照日本ICQ收费模式,首年免,次年按活跃度阶梯收费,付费率预估3.7%】

PONY捏着纸条的手指微微发紧。这不是天上掉馅饼,是有人把他困在迷宫里三年的出口,亲手凿开了。

下午三点,安安接到王延光电话。父亲声音很轻,却带着不容置疑的力度:“安安,告诉PONY,别只盯着互联网。丰阳正在建全国首个县域级农业物联网平台,传感器数据要实时传回省农科院。企鹅能不能做个轻量级协议栈,专跑这种低带宽、高并发、断网续传的场景?技术难度比QQ小,但落地快,三个月就能见钱。”

电话挂断后,安安望向窗外。远处华强北电子大厦玻璃幕墙反射着刺眼阳光,近处楼下梧桐树影婆娑。他忽然明白父亲为何坚持让他来这儿——不是为了救企鹅,而是要让这艘在风暴中颠簸的小船,亲眼看见海岸线在哪里。

暮色渐浓时,安安独自留在机房。他没碰键盘,只是静静看着监控屏上跳动的数据流。23万用户,1400条/秒,每一帧闪烁都意味着某个少年在宿舍敲下“在吗”,某个母亲在县城网吧发送“吃饭没”,某个厂妹用攒下的加班费买了个闪钻皮肤……

这些数字背后,是尚未被命名的生活。

他掏出手机,拨通白秀云电话:“妈,帮我订张后天回丰阳的机票。对,要最早的那班。”

挂了电话,安安打开笔记本,新建文档,标题栏郑重写下:

《县域物联网通信协议V0.1草案——致丰阳猕猴桃产业数字化升级小组》

光标在标题后轻轻闪烁,像一颗尚未熄灭的星火。

没看完?将本书加入收藏

我是会员,将本章节放入书签

复制本书地址,推荐给好友好书?我要投推荐票