第8章 降维打击!单服万人不卡顿,这优化是神仙写的?
有些故事,只适合在深夜被轻轻翻开。
马主任放下茶杯:“赊账?”
“不是赊账,是分期。”
张折把准备好的资料放在桌上,合作方案、搜虎和网南的推广协议复印件、地推覆盖数据,一样一样摆出来。
“马主任,这款游戏上线之后,玩家上网需要带宽,网吧升级线路需要带宽,这些都是电信的收入。我们做大了,您这边的宽带业务跟着涨。”
马主任翻了翻资料,没有马上答应,也没拒绝。
“你让我考虑考虑。”
张折没催。
第三天,马主任打来电话,同意了。
条件是第一个季度的费用必须在公测前全额到账,备用的十台可以延后付款,但最迟不超过公测后两个月。
张折答应了。
十台服务器到位后,公司的程序团队分成两组,轮班进驻电信机房。
机房在地下一层,没有窗户,空调呼呼地吹,待久了骨头都是凉的。
史文龙带着三个程序员守白班,另一组守夜班。
服务端的部署和调试是个苦活。虽说张折其实可以让小艾直接搞定,但为了隐藏小艾只能苦一苦了。
韩国游戏可以直接用现成的架构,国产自研从头搭起来,每一个环节都得自己趟。
数据库的读写效率、网络通信的延迟优化、多线程的并发处理,全靠团队一行一行代码往外磨。
晚上十一点,机房里只剩张折一个人的时候,他锁上门,坐到主控台前。
“小艾。”
智脑的声音在脑海中响起:在。
“服务器的状态数据我全导出来了,你过一遍,看看哪些地方还有优化空间。”
几秒钟的沉默。
张折盯着屏幕上的服务器监控面板,cpu占用率、内存使用率、网络io的曲线一目了然。
按照现在的配置,单台服务器的承载上限大概在三千人同时在线,再往上就会出现明显卡顿。
智脑给出了反馈。
张折开始动手。
他按照智脑的方案,对服务端的核心模块逐一调整。
内存池的分配策略换了一套,网络包的压缩算法重写了,数据库的查询逻辑做了三层缓存。
改动不算大,但每一处都精准地卡在瓶颈上。
凌晨两点,改完。
张折启动压力测试脚本,模拟大量用户同时登录。
监控面板上的曲线开始攀升。
三千、五千、七千——
cpu占用率稳稳地压在百分之六十以下。
内存没有溢出。
网络延迟控制在可接受范围内。
八千、九千——
曲线依然平稳。
一万。
张折看着屏幕上的数字,靠回椅背。
单台服务器,一万人同时在线,运行流畅。
十台全开就是十万人。
这个数字,在2001年的国内网游市场,是一个荒谬的数字。
第二天上午,史文龙带人来继续工作,调出系统压力测试的报告,眼珠子差点掉出来。
“一万?单台一万人?”
他把报告翻来覆去看了三遍,“张折你昨晚干了什么?我走的时候还是三千的上限。”
“优化了一下服务端的代码。”
史文龙蹲在地上对着报告上的数据看了半天,抬起头,表情复杂:“你这个一下,是哪门子的一下?这性能提升了三倍多。你把代码喂给神仙看了?”
旁边一个程序员凑过来瞄了一眼报告,倒吸一口凉气:“卧槽,内存占用还降了百分之四十?张哥,你这优化思路能不能给我们讲讲?我想学。”
“回头整理个文档发给你们。”
张折站起来,拿上外套往外走,“服务器这边继续跑稳定性测试,连续跑七十二小时不出问题就算过。”
他走出机房的时候,身后传来史文龙的声音:“老三这写代码到底是什么水平?我也学了三年程序,压力测试的数据我看得懂,但这优化方案我看不懂。一晚上纯手动调出来的?鬼信。”
另一个程序员说:“别管怎么调的,能用就行。这性能要是稳定的话,公测那天服务器绝对不会崩。”
“那倒是。”
史文龙挠了挠后脑勺,把报告夹进文件夹里,“行吧,天才的世界咱不理解就对了。”
张折走出电信大楼,秋天的风灌进领口,凉飕飕的。
他掏出手机看了眼日历。
公测倒计时二十五天。
还有十天,传奇就要正式上线了。