万书网 > 重生87,半年爆赚200亿美金 > 第1945章 携程后台的首轮考验

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


压力测试定在周六上午。

这是赵磊提议的。

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

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

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

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

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

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

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

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

所以才叫压力测试。”

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

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

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

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

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

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

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

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

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

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

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

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

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

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

“三、二、一,开始。”

他按下了回车键。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

“慢查询变多了。

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

“哪几个查询?”

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

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

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

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

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

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

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

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

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

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

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

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

“服务器卡住了。

重启。”

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

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

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

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

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

“什么情况?”

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

等重启完看日志。”

“大概要多久?”

“三五分钟。”

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

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

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

服务器终于启动完成了。

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

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

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

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

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

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

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

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

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

“那现在怎么解决?”

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

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

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

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

“再跑一次。”她说。

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

“准备好了。

再来一次。”

他又按下了回车键。

这一次的崩溃来得更快。

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

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

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

赵磊的脸色变得很难看。

办公室里没有人说话。

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

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

电话响了三声,接通了。

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

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

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

“你慢慢说,从头讲。”

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

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

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

“赵磊怎么说?”

“他还在查。

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

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

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

“他找你。”

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

他没有说话,只是听。

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

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

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

好。

好。

我试试。”

他把手机递回给俞飛鸿。

【跪求礼物,免费的为爱发电也行!】


  (https://www.wshuw.net/2/2028/11109149.html)


1秒记住万书网:www.wshuw.net。手机版阅读网址:m.wshuw.net