同事线上埋的这个坑,我整整找了3天3夜
作者:Alan_beijing
来源:https://urlify.cn/jyYny2
对于线上系统调优 , 它本身是个技术活 , 不仅需要很强的技术实战能力 , 很强的问题定位 , 问题识别 , 问题排查能力 , 还需要很丰富的调优能力 。
本篇文章从实战角度 , 从问题识别 , 问题定位 , 问题分析 , 提出解决方案 , 实施解决方案 , 监控调优后的解决方案和调优后的观察等角度来与大家一起交流分享本次线上高并发调优整个闭环过程 。
一、项目简要情况概述
该项目为基于SSM架构的商城类单体架构项目 , 其中有一个秒杀重磅模块 , 如下为当前线上环境的简要架构部署图 , 大致描述一下:
(1)项目为SSM架构
(2)服务器类别:1台负载均衡服务器(F5),3台运用程序服务器 , 1台计时器服务器,1台redis服务器 , 1台图片服服务器和1台基于Pass架构的Mysql主从服务器(微软云)
(3)调用逻辑:下图为简要调用逻辑
本文插图
二、何为单体架构项目
从架构发展角度 , 软件项目经历了如下阶段的发展:
1.单体架构:可理解为传统的前后端未分离的架构
2.垂直架构:可理解为前后端分离架构
3.SOA架构:可理解为按服务类别 , 业务流量 , 服务间依赖关系等服务化的架构 , 如以前的单体架构ERP项目 , 划分为订单服务 , 采购服务 , 物料服务和销售服务等
4.微服务:可理解为一个个小型的项目 , 如之前的ERP大型项目 , 划分为订单服务(订单项目) , 采购服务(采购项目) , 物料服务(物料项目)和销售服务(销售项目) , 以及服务之间调用
本文插图
三、本SSM项目引发的线上问题
1.当秒杀的时候 , cpu暴增
该系统每天秒杀分为三个时间端:10点 , 13点和20点 , 如下为秒杀的简要页面
图1
本文插图
图2
本文插图
图3
本文插图
2.单台运用服务器cpu
本文插图
3.单台运用服务器请求数
本文插图
4.rdis连接数(info clients)
这个未保存截图 , 记得是600左右
connected_clients:600
5.mysql请求截图
本文插图
四、排查过程及分析
(一)排查思路
根据服务部署和项目架构 , 从如下几个方面排查:
(1)运用服务器:排查内存 , cpu,请求数等;
(2)文件图片服务器:排查内存 , cpu,请求数等;
(3)计时器服务器:排查内存 , cpu,请求数等;
(4)redis服务器:排查内存 , cpu,连接数等;
(5)db服务器:排查内存 , cpu,连接数等;
(二)排查过程
在秒杀后30分钟内 ,
1.运用程序服务器cpu暴增 , 内存暴增 , 造成cpu和内存暴增的根本原因是请求数过高 , 单台运用服务器达到3000多;
- 未雨绸缪,朱芳雨这个大招,将签CBA顶级中锋吴冠希
- 肩厂谈历史|日本至少领先世界30年,美俄中都被甩在身后,在这个领域
- 大结局!港大为白湘菱提供百万奖学金 她选了这个专业
- 沈力遗体告别式在八宝山举行 《夕阳红》栏目同事纷纷到场送别
- 奖金|男子连中7个大奖赢得450万,竟直接给同事分一半,还立马捐掉45万
- 身世|从地狱到天堂?!这个身世凄惨的少年,竟意外成了家喻户晓的明星
- Lady格调|船王的情人,赫本的好友,这个200斤女人不简单!
- 央视财经微信|用户规模超4亿!这个行业,或迎来“黄金十年”!
- 导弹|红箭-12反坦克导弹出口这个北非国家,可能会面对邻国的中国坦克
- 葡萄酒足球|卡纳瓦罗又该如何取舍?这个最强大脑有点难,恒大PK佳兆业