- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
猛烈推举线上商城高并发优化过程
Alan_beijing
2021-11-22
点击上方 关注,?星标或置顶一起成长
免费送 1024GB 精品学习资源?
来源:/wangjiming/phtml
? ? 对于线上系统调优,它本身是个技术活,不只需要很强的技术实战力量,很强的问题定位,问题识别,问题排查力量,还需要很丰富的调优力量。
? ? 本篇文章从实战角度,从问题识别,问题定位,问题分析,提出处理方案,实施处理方案,监控调优后的处理方案和调优后的观看等角度来与大家一起沟通共享本次线上高并发调优整个闭环过程。
一? 项目简要情况概述
? ? 该项目为基于SSM架构的商城类单体架构项目,其中有一个秒宰重磅模块,如下为当前线上环境的简要架构部署图,大致描述一下:
? ? (1)项目为SSM架构
? ? (2)服务器类别:1台负载均衡服务器(F5),3台运用程序服务器,1台计时器服务器,1台redis服务器,1台图片服服务器和1台基于Pass架构的Mysql主从服务器(微软云)
? ? (3)调用规律:下图为简要调用规律
?
?二? 何为单体架构项目
从架构进展角度,软件项目经受了如下阶段的进展:
1.单体架构:可理解为传统的前后端未分别的架构
2.垂直架构:可理解为前后端分别架构
3.SOA架构:可理解为按服务类别,业务流量,服务间依靠关系等服务化的架构,如以前的单体架构ERP项目,划分为订单服务,选购服务,物料服务和销售服务等
4 微服务:可理解为一个个小型的项目,如之前的ERP大型项目,划分为订单服务(订单项目),选购服务(选购项目),物料服务(物料项目)和销售服务(销售项目),以及服务之间调用
?三? 本SSM项目引发的线上问题
问题一:当秒宰的时候,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多;
2.redis恳求超时
3.jdbc连接超时
?4.通过gc查看,发觉24小时内,FullGC发生了152次
?5.再看看堆栈,发觉有一些线程堵塞和死锁
jstat -l pid,也可以通过VisualVM分析
?6.发觉有2000多个线程恳求无效资源
(三)形成本次系统特别次要因素分析
(1)在秒宰时,恳求量过高,导致运用服务器负载过高;
(2)redis连接池满,猎取不到连接,connot get a connection from thread pool
(3)jdbc连接池满,猎取不到连接和超时
(4)存在大对象代码,如向list集合中不停添加对象,不能准时回收对象导致内存添加,频繁发生Full GC
(5)tomcat并发参数,jvm优化参数,jedis配置参数,jdbc配置参数不合理
(6)未对恳求量进行削峰和限流
(7)资源连接未准时释放,如redis连接,jdbc连接未准时释放
?五? 最终处理方案
1.添加运用服务,做流量削峰和分流
由于该项目未添加MQ,因而只能接受硬负载,添加服务器水平扩展方式来实现流量削峰和流量分流
?
?2.优化jvm参数,如下为本次优化后的参数
JAVA_OPTS=-server -Xmx9g -Xms9g -Xmn3g -Xss500k -XX:+DisableExplicitGC -XX:MetaspaceSize=2048m -XX:MaxMetaspaceSize=2048m -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 -Dfile.encoding=UTF8 -
文档评论(0)