下一章 上一章 目录 设置
30、破晓时分 ...
-
早晨七点,数据库迁移完成。周默敲下最后一行命令,屏幕上的进度条走到100%。他靠在椅背上,闭眼深呼吸——连续工作三十六个小时,太阳穴突突地跳。
“测试环境搭建好了。”张磊顶着黑眼圈说,“模拟上线流程,一次性通过。”
沈星辰从外面回来,手里提着豆浆油条:“先吃饭。八点托管公司的人来,九点开始最终测试。我们有两小时休息时间。”
豆浆还是温的。三人围坐在储物间的小桌边,沉默地吃着。窗外的街道渐渐苏醒,自行车铃声、早点摊的叫卖声、邻居家的收音机声——1999年夏天一个普通的周五清晨,没人知道在这个破旧网吧里,三个年轻人正试图创造一个小小奇迹。
七点半,周默趴在桌上睡着了。张磊也撑不住,靠着墙打盹。沈星辰轻轻收拾掉餐盒,给两人盖上外套,然后独自检查最后一遍检查清单。
域名解析:已生效。
服务器状态:正常。
备份方案:就绪。
应急预案:打印出来贴在墙上。
她的手抚过打印纸上的字迹,想起一个月前那个闷热的午后,她拿着五千块存折走进这里的样子。那时“星辰在线”还只是笔记本上的几行构想,周默还是个在网吧混日子的辍学生,她自己也不敢确定这条路能走多远。
而现在,他们即将把一个县的招商门户送上互联网。
八点整,托管公司的技术员准时到达。是个二十多岁的小伙子,叫小李,说话带点省城口音:“你们就是做招商网站的学生?厉害啊。”
迁移过程很顺利。新服务器配置更高,带宽更足,网站加载速度又提升了一倍。小李看着后台监控数据,有些惊讶:“代码优化得真好。我们接过很多政府项目,第一次见到高中生能做到这种程度。”
“我们有个好技术。”沈星辰看向还在睡觉的周默。
八点四十分,周默自己醒了。他洗了把冷水脸,立刻投入最终测试。所有流程又走了一遍:首页加载、项目浏览、表单提交、后台审核、数据统计……每一个环节都顺畅如丝。
九点半,王经理打来电话:“王副县长十点到招商局,现场观看上线。你们那边准备好了吗?”
“准备好了。”沈星辰说,“可以随时上线。”
“好,等我们电话。”
挂掉电话,储物间里安静得能听见心跳。张磊紧张地搓着手:“要是……要是点击上线按钮的时候服务器崩了怎么办?”
“不会崩。”周默盯着监控屏幕,“但我们有个更大的问题。”
沈星辰心里一紧:“什么?”
“流量。”周默调出一份数据,“我刚才查了日志,从昨天下午开始,网站测试地址的访问量异常增加。有几个IP在疯狂刷新页面,每次刷新间隔精确到秒——是脚本攻击。”
张磊骂了一句:“赵老板!”
“不止。”周默调出IP分析,“还有来自省城的访问,集中在几个固定IP段。看起来……像是有人在提前测试我们的抗压能力。”
沈星辰明白了——这是双重压力。赵老板用脚本攻击想制造故障,而省城那边(可能是上级部门或潜在竞争对手)则在观察他们的技术实力。周五的上线,从来都不只是点击一个按钮那么简单。
“能防住吗?”她问。
“能。”周默手指在键盘上飞舞,“我写个简单的防护脚本,把异常访问暂时重定向到静态页面。但这样会损失一部分真实用户……”
“顾不上了。”沈星辰当机立断,“保证上线过程万无一失。等王副县长点击成功后,再慢慢优化。”
九点五十分。招商局再次来电:“五分钟后上线。王副县长会点击‘网站正式上线’按钮,你们那边要确保同步。”
“收到。”
倒计时开始。周默启动防护脚本,张磊盯着服务器监控,沈星辰握紧手机——这是她重生以来最重要的一刻,比高考放榜更甚。这不仅仅是一个网站,这是她新人生的第一个里程碑。
墙上时钟指向九点五十五分。
储物间的门突然被推开。陈剑国站在门口,气喘吁吁,校服衬衫被汗浸透。
“你怎么……”张磊站起身,一脸警惕。
“赵老板。”陈剑国看着沈星辰,声音很急,“他找了一帮人,十点整会同时访问网站,用最耗资源的页面。他说……说要让你们在领导面前出丑。”
这比脚本攻击更狠——真实用户访问,无法用防护脚本屏蔽,却能消耗大量服务器资源。如果同时涌入几百人,服务器很可能撑不住。
“多少人?”周默问。
“不清楚,但他说‘足够让服务器崩溃’。”陈剑国低下头,“对不起,我昨天才知道他的计划。我想了一夜,还是得来告诉你们。”
沈星辰看着这个满头大汗的少年,想起前世那个冷漠的丈夫,想起这辈子他所有的偏执和纠缠。此刻,他选择站在这里。
“谢谢。”她说,然后转向周默,“有办法吗?”
周默快速计算:“我们压力测试的极限是1200并发。如果赵老板能找到超过这个数的人……”
“他找不到。”张磊说,“三江县哪有那么多人同时上网?”
“但如果是省城呢?”沈星辰忽然想到什么,“赵老板在省城也有关系,他完全可以从那边调人。”
时间只剩三分钟。
周默忽然站起来:“扩容。现在申请临时带宽和服务器资源,托管公司能做到吗?”
“理论上能,但需要钱,而且需要时间走流程……”
“钱我有。”沈星辰从包里拿出另一张存折——这是她准备注册公司用的,“打电话给托管公司,申请紧急扩容。费用多少我们都付。”
周默拨通电话,语速飞快地说明情况。那头的小李也很紧张:“紧急扩容可以,但价格是平时的五倍,而且至少需要十分钟生效……”
“现在就办。”沈星辰对着手机说,“钱不是问题。”
九点五十八分。扩容申请提交,托管公司开始走加急流程。
九点五十九分。王经理发来短信:“准备。”
十点整。
储物间里的空气仿佛凝固了。三个人盯着屏幕,陈剑国站在门口,双手握拳。墙上的时钟秒针一跳,一跳。
电话响了。是王经理:“王副县长点击了上线按钮。”
周默刷新页面——网站状态从“测试中”变为“已上线”。几乎同时,监控屏幕上的访问量曲线开始飙升。
100。
300。
500。
800……
“赵老板开始了。”张磊声音发干。
访问量突破1000,逼近压力测试的极限。服务器CPU使用率跳到85%,内存占用率突破70%。警报灯开始闪烁。
“扩容还没生效吗?”沈星辰问。
“需要时间……”周默盯着进度条,“至少还要五分钟。”
1100。
1150。
1180……
距离崩溃临界点只剩20个并发用户。屏幕上开始出现零星错误报告——页面加载超时、图片无法显示、表单提交失败。
“撑住。”周默咬牙说,“撑过五分钟就好。”
1200——到达极限。服务器响应时间急剧变慢,错误率跳到3%。张磊已经不敢看屏幕,抱着头蹲在墙角。
就在这时,监控数据突然变了。
访问量曲线还在上升,但服务器各项指标开始回落——CPU使用率降到75%,内存占用稳定在65%,错误率回落到1%。
“扩容生效了!”周默长舒一口气。
屏幕上,带宽和服务器资源的数据更新了:临时扩容50%,可支持1800并发。访问量曲线在1400左右稳定下来——赵老板的攻击,被化解了。
十点零五分。王经理再次来电,声音里有压不住的兴奋:“成功了!王副县长很满意,特别是那个投资咨询表单,他当场试了一下,说这个设计贴近实际工作!”
沈星辰闭上眼睛,听到自己心脏在胸腔里剧烈跳动的声音。
十点十分。攻击流量开始下降。赵老板发现计划失败,停止了访问。
十点半。网站运行完全稳定。后台显示,除了攻击流量,已经出现了几十个真实用户的访问——有人查看招商项目,有人浏览政策文件,还有三个人提交了投资咨询。
“我们……真的成了?”张磊还不敢相信。
周默靠在椅子上,笑得像个孩子:“成了。”
陈剑国走过来,把一张纸条放在桌上:“这是赵老板找的那些人的IP段。以后……可能还有用。”他顿了顿,看向沈星辰,“我报了工业大学的计算机系,九月开学。如果……如果以后你需要技术帮忙……”
“谢谢。”沈星辰真诚地说,“好好读书。计算机是个好方向。”
陈剑国点点头,转身离开了。他的背影在门口顿了顿,但没有回头。
中午十二点,招商局正式发来通知:网站上线成功,三年维护合同下周签订。首年费用一万五千元,按季度支付。
第一笔收入:三千七百五十元,下个月到账。
沈星辰把通知打印出来,贴在储物间的墙上。那张纸旁边,是她重生第一天写下的目标清单——其中一条被红笔圈了出来:“1999年,实现第一笔稳定收入。”
现在,她做到了。
下午,团队庆祝的方式是补觉。张磊回家了,周默在网吧里间的小床上睡着了,沈星辰趴在桌上,也沉入了梦乡。
她梦见自己站在很高的地方,脚下是闪烁的城市灯火。风很大,吹得她几乎站不稳,但她没有害怕,因为她知道,这一次,她长出了自己的翅膀。
醒来时已是黄昏。周默还在睡,沈星辰轻手轻脚起身,拉开储物间的窗帘。夕阳把天空染成金红色,云朵像燃烧的火焰。
她拿出日记本,写下这个特殊的日子:
1999年7月23日,晴。
星辰在线正式上线。扛住了攻击,赢得了合同,迈出了第一步。
陈剑国最后的选择,让我看到人性复杂的微光。周默的坚持,张磊的付出,证明团队的力量。
今天收到省大录取通知书的快递,安静地躺在信箱里。忽然想起前世,我为了一张结婚证书欣喜若狂,以为那是人生的顶点。
这一世才明白:婚姻不是终点,而是起点——但不是唯一的起点。女人的人生,可以有无数个起点,只要你敢迈出第一步。
写到这里,她停笔,看向窗外。
夜幕降临,第一批星星开始闪烁。远处,“星辰在线”的服务器指示灯在机房里有规律地明灭,像一颗在地面诞生的小小星辰。
属于她的星空,刚刚开始点亮。