压力测试定在周六上午。

  这是赵磊提议的。

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

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

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

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

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

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

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

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

  所以才叫压力测试。”

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  “三、二、一,开始。”

  他按下了回车键。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  “慢查询变多了。

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

  “哪几个查询?”

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

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

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

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

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

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

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

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

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

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

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

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

  “服务器卡住了。

  重启。”

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

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

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

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

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

  “什么情况?”

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

  等重启完看日志。”

  “大概要多久?”

  “三五分钟。”

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

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

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

  服务器终于启动完成了。

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

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

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

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

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

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

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

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

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

  “那现在怎么解决?”

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

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

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

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

  “再跑一次。”她说。

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

  “准备好了。

  再来一次。”

  他又按下了回车键。

  这一次的崩溃来得更快。

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

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

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

  赵磊的脸色变得很难看。

  办公室里没有人说话。

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

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

  电话响了三声,接通了。

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

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

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

  “你慢慢说,从头讲。”

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

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

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

  “赵磊怎么说?”

  “他还在查。

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

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

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

  “他找你。”

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

  他没有说话,只是听。

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

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

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

  好。

  好。

  我试试。”

  他把手机递回给俞飛鸿。

  【跪求礼物,免费的为爱发电也行!】
为更好的阅读体验,本站章节内容基于百度转码进行转码展示,如有问题请您到源站阅读, 转码声明
圣墟小说网邀请您进入最专业的小说搜索网站阅读重生87:开局截胡港岛女神,重生87:开局截胡港岛女神最新章节,重生87:开局截胡港岛女神 圣墟小说网
可以使用回车、←→快捷键阅读
开启瀑布流阅读