|同事线上埋的这个坑,我整整找了3天3夜


作者:Alan_beijing
来源:https://urlify.cn/jyYny2
对于线上系统调优 , 它本身是个技术活 , 不仅需要很强的技术实战能力 , 很强的问题定位 , 问题识别 , 问题排查能力 , 还需要很丰富的调优能力 。
本篇文章从实战角度 , 从问题识别 , 问题定位 , 问题分析 , 提出解决方案 , 实施解决方案 , 监控调优后的解决方案和调优后的观察等角度来与大家一起交流分享本次线上高并发调优整个闭环过程 。
一、项目简要情况概述
该项目为基于SSM架构的商城类单体架构项目 , 其中有一个秒杀重磅模块 , 如下为当前线上环境的简要架构部署图 , 大致描述一下:
(1)项目为SSM架构
(2)服务器类别:1台负载均衡服务器(F5),3台运用程序服务器 , 1台计时器服务器,1台redis服务器 , 1台图片服服务器和1台基于Pass架构的Mysql主从服务器(微软云)
(3)调用逻辑:下图为简要调用逻辑
|同事线上埋的这个坑,我整整找了3天3夜
本文插图


二、何为单体架构项目
从架构发展角度 , 软件项目经历了如下阶段的发展:
1.单体架构:可理解为传统的前后端未分离的架构
2.垂直架构:可理解为前后端分离架构
3.SOA架构:可理解为按服务类别 , 业务流量 , 服务间依赖关系等服务化的架构 , 如以前的单体架构ERP项目 , 划分为订单服务 , 采购服务 , 物料服务和销售服务等
4.微服务:可理解为一个个小型的项目 , 如之前的ERP大型项目 , 划分为订单服务(订单项目) , 采购服务(采购项目) , 物料服务(物料项目)和销售服务(销售项目) , 以及服务之间调用
|同事线上埋的这个坑,我整整找了3天3夜
本文插图


三、本SSM项目引发的线上问题
1.当秒杀的时候 , cpu暴增
该系统每天秒杀分为三个时间端:10点 , 13点和20点 , 如下为秒杀的简要页面
图1
|同事线上埋的这个坑,我整整找了3天3夜
本文插图

图2
|同事线上埋的这个坑,我整整找了3天3夜
本文插图

图3
|同事线上埋的这个坑,我整整找了3天3夜
本文插图

2.单台运用服务器cpu
|同事线上埋的这个坑,我整整找了3天3夜
本文插图

3.单台运用服务器请求数
|同事线上埋的这个坑,我整整找了3天3夜
本文插图

4.rdis连接数(info clients)
这个未保存截图 , 记得是600左右
connected_clients:600
5.mysql请求截图
|同事线上埋的这个坑,我整整找了3天3夜
本文插图


四、排查过程及分析
(一)排查思路
根据服务部署和项目架构 , 从如下几个方面排查:
(1)运用服务器:排查内存 , cpu,请求数等;
(2)文件图片服务器:排查内存 , cpu,请求数等;
(3)计时器服务器:排查内存 , cpu,请求数等;
(4)redis服务器:排查内存 , cpu,连接数等;
(5)db服务器:排查内存 , cpu,连接数等;
(二)排查过程
在秒杀后30分钟内 ,
1.运用程序服务器cpu暴增 , 内存暴增 , 造成cpu和内存暴增的根本原因是请求数过高 , 单台运用服务器达到3000多;
|同事线上埋的这个坑,我整整找了3天3夜


推荐阅读