字:
关灯 护眼
渡口文学 > 重生87:开局截胡港岛女神 > 第1945章 携程后台的首轮考验

第1945章 携程后台的首轮考验

    压力测试定在周六上午。

    这是赵磊提议的。

    他说选在周末,万一出了问题,不会影响周一到周五的正常工作进度。

    俞飛鸿同意了这个安排,还特意从家里带了一壶咖啡到办公室,给技术团队提神。

    测试开始之前,赵磊把所有人召集在一起,在白板上画了一个简单的架构图,把压力测试的流程讲了一遍。

    他手里拿着一支黑色马克笔,一边画一边说,声音不大但很清楚。

    “我们模拟一千个用户同时访问首页,然后五百个用户同时进行航班查询,最后两百个用户同时提交订单。

    每一个阶段持续五分钟,中间不停顿,连续跑完。”

    一个年轻的技术员举手问:“磊哥,服务器配置扛得住吗?”

    赵磊把马克笔的盖子盖上,“扛不扛得住,测了才知道。

    所以才叫压力测试。”

    俞飛鸿站在办公室的角落,端着一杯咖啡,安静地看着他们。

    她没有插话,技术上的事情她不懂,也不打算装懂。

    她在这里的唯一原因,是如果出了问题,她需要第一时间知道,然后第一时间联络陈浩。

    赵磊走到那台服务器前面,检查了一遍所有的连接线。

    这台服务器是两个月前采购的,戴尔的POWerEdge,双CPU,2GB内存,四块SCSI硬盘做了RAID 5。

    在当时这个配置不算低,但赵磊说过,对于互联网应用来说,硬件永远不够用。

    “准备好了吗?”赵磊问。

    三个技术员分别坐在自己的工位上,面前屏幕上显示着不同的监控界面。

    一个人盯着CPU和内存的使用率,一个人盯着数据库的连接数和查询响应时间,一个人盯着网络流量和磁盘I/O。

    “数据库监控就绪。”坐在中间的那个技术员说。

    “网络监控就绪。”左边那个说。

    “系统资源就绪。”右边那个说。

    赵磊走到自己的电脑前,打开了一个模拟并发请求的工具。

    这个工具是他自己写的,功能很简单——模拟大量用户同时访问网站的不同页面,记录响应时间和错误率。

    “三、二、一,开始。”

    他按下了回车键。

    办公室里的五个人都安静下来,只剩下服务器风扇的嗡嗡声和键盘敲击的声音。

    俞飛鸿靠在墙上,手里端着咖啡杯,眼睛盯着赵磊的屏幕。

    最初的三十秒,一切正常。

    监控屏幕上显示CPU使用率从百分之五升到了百分之四十,内存占用从五百兆升到了八百兆,数据库连接数从两个增加到了八十个。

    赵磊的模拟工具显示,平均页面响应时间从零点三秒增加到了零点八秒。

    “还在合理范围内。”赵磊说,语气还算平静。

    一分钟后,CPU使用率突破了百分之七十。

    数据库的查询响应时间从零点八秒飙升到了两秒。

    模拟工具的响应时间也同步增加到了一秒五。

    “并发量到多少了?”赵磊问。

    “八百个活跃连接,还在增加。”负责数据库监控的技术员回答。

    又过了三十秒,俞飛鸿听到服务器风扇的声音突然变大了。

    那种声音不是平稳的嗡嗡声,而是一种急促的、高频的旋转声,像是什么东西在全力运转。

    “CPU百分之九十了。”负责系统资源的技术员说,声音有些紧张。

    赵磊的眉头皱了起来,“数据库那边呢?”

    “慢查询变多了。

    有几个查询走了全表扫描,索引没生效。”

    “哪几个查询?”

    技术员报了几个SQL语句的片段。

    赵磊快步走过去,弯下腰盯着他的屏幕,手指在键盘上飞快地敲了几行命令。

    “这几个查询的索引我建过,不知道为什么没走。”

    话音还没落,服务器风扇的声音突然变了。

    从急促的旋转声变成了一种断断续续的咔咔声,然后——安静了。

    不是彻底的安静,而是那种服务器停止响应的安静。

    风扇还在转,但声音明显变小了。

    监控屏幕上,CPU使用率从百分之九十直接掉到了百分之五。

    “怎么回事?”赵磊直起身,走回服务器前面。

    “所有连接都断了。”负责数据库监控的技术员说,“数据库服务好像挂了。”

    赵磊在服务器上敲了几条命令,等了十几秒,没有响应。

    他又敲了一次,还是没反应。

    “服务器卡住了。

    重启。”

    他按下服务器的电源键,等了五秒,又按了一次。

    电源灯灭了,然后又亮起来。

    服务器开始重新启动,屏幕上滚过一行一行的启动信息。

    办公室里的四个人都盯着那台服务器。

    俞飛鸿把手里的咖啡杯放在桌子上,走过去,站在赵磊身后。

    “什么情况?”

    赵磊没有回头,声音有些沉,“高并发的时候,数据库的查询堆起来了,锁表了还是怎么回事,不太确定。

    等重启完看日志。”

    “大概要多久?”

    “三五分钟。”

    服务器启动的速度很慢,比平时慢得多。

    启动信息一行一行地滚过去,每一行都让人等得心焦。

    赵磊的手指在键盘上轻轻敲着,这是他紧张时的习惯动作。

    服务器终于启动完成了。

    赵磊登录进去,第一件事是查看系统日志。

    日志里密密麻麻地记录着系统崩溃前的最后几秒钟发生的事情。

    他一行一行地看,手指在屏幕上移动,目光专注得像一把刀。

    “看到什么了?”俞飛鸿问。

    “数据库的连接数超过了最大限制,然后新的连接请求被拒绝了,但已有的连接没有释放,越堆越多,最后把内存吃光了,系统自己把自己杀了。”

    “为什么会超过最大限制?”

    赵磊沉默了几秒,“我设的连接数上限是两百。

    理论上,两百个并发查询应该扛得住。

    但刚才的模拟工具可能没控制好,实际发起的连接数超过了这个值。”

    “那现在怎么解决?”

    “先把上限调高,调到五百。

    然后再跑一次,看看能不能扛住。”

    俞飛鸿看了一眼办公室墙上挂着的钟。

    从测试开始到现在,过去了不到四十分钟。

    “再跑一次。”她说。

    赵磊修改了数据库的配置文件,把最大连接数从两百改成五百,然后重新启动了数据库服务。

    “准备好了。

    再来一次。”

    他又按下了回车键。

    这一次的崩溃来得更快。

    大约两分钟之后,服务器的风扇再次发出那种急促的旋转声,然后戛然而止。

    这一次不是数据库服务挂了,是整个操作系统都挂了。

    屏幕定格在了一个蓝色的画面上,光标在左上角一闪一闪的,键盘按任何键都没有反应。

    赵磊的脸色变得很难看。

    办公室里没有人说话。

    俞飛鸿深吸了一口气,转身走出技术区,走到自己的办公桌前,拉开抽屉,拿出那部浩瀚手机。

    她翻开翻盖,按下通讯录里那个唯一的号码。

    电话响了三声,接通了。

    “怎么了?”陈浩的声音从听筒里传来,带着一种警觉。

    他大概是从她打电话的时间判断出有事发生——周末的下午,她从来不会在这个时间打给他。

    “压力测试出问题了。”俞飛鸿的声音还算平稳,但语速比平时快了一些,“服务器在高并发的时候崩了,第一次是数据库连接数超限,第二次连操作系统都挂了。”

    “你慢慢说,从头讲。”

    俞飛鸿把压力测试的过程、模拟的并发量、服务器崩溃的表现、赵磊排查到的信息,一条一条地讲给陈浩听。

    她尽量说得清楚,不带情绪,只是在陈述事实。

    陈浩听完之后,沉默了几秒。

    “赵磊怎么说?”

    “他还在查。

    但从日志上看,不像是单纯的配置问题。”

    “你把电话给赵磊,我跟他说几句。”

    俞飛鸿拿着手机走回技术区,把手机递给赵磊。

    “他找你。”

    赵磊接过手机,贴在耳朵上。

    他没有说话,只是听。

    听了一会儿,他嗯了一声,又嗯了一声,然后说:“我查了慢查询日志,有几个查询走了全表扫描。

    对,我建过索引,但没生效。

    可能是数据分布的问题,统计信息没更新。

    好。

    好。

    我试试。”

    他把手机递回给俞飛鸿。

    【跪求礼物,免费的为爱发电也行!】
『加入书签,方便阅读』