栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

系统性能优化-HL

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

系统性能优化-HL

如何发现?

apm发现慢请求 找到具体的路径url

 

如何定位?

观察那些有可能慢的方法,打日志,本地运行,有条件的(admin可以连生产只读数据库),没条件(crm造数据)

定位到具体哪个步骤慢

如何解决?

异步 程序 缓存 Sql

一.优化递归算法

RecursionUtil 为了适应不同的类,不同的属性

/adminDept/queryDeptTree

 

 每次都new实例

 针对优化 (简化了一些,有针对性)

二. 简化明确业务逻辑

/crmCustomer/workbenchData

页面数字的显示

原版本---(走的是原来查询内容的接口)没有区别身份,全量查询,sql也是全字段查询

优化后 区分身份查询 去掉不必要的sql 只查id

三. 明确业务逻辑

SendMsgToBp2Job TaskSendMsgJob

这两个方法都调用admin的VX发消息的接口

发现5万的数据只有一万条数据的负责人是关注了的

SendMsgToBp2Job

原来

现在 只查关注的

//优化后

WxMpProperties.MpConfig mpConfig = wxMpProperties.swithWxConfig(useAppId);

//当站长标记劳动者为【面试未通过】时,向劳动者的负责bp推送公众号模板消息,提醒bp做后续处理(筛选没有关注公众号的人)

List list =iCrmCustomerService.querySendMsgToBp2(mpConfig.getApplicationName());

四.综合优化

获取标签的接口

本地不慢 打日志看时间不慢

一.带宽

二.返回的json压缩 去掉无用字段

~!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

五.报表优化

运营分析系统:招聘战力

统计背景:时间控件,输入当月,劳动者状态统计趋势,1-30号,每天数据

查询 wk_crm_customer 不同时间段,不同的统计维度;创建时间、上岗时间、入职时间、离职时间;推荐人(乙方公司下所有员工)

1.红色长方形耗时最长,接口拆分;

2.时间分段,推荐人 union all ,一次行查询整个时间段(整月),不同的时间段匹配在统计

3.不同时间字段统计,串行;优化为并行

六.增加缓存

适当的增加缓存(基于feign-client 设置redis缓存)

亿级系统的Redis缓存如何设计??? 排查MYSQL CPU高
show variables like "%slow_query_log%" ;

SHOW PROCESSLIST;

SHOW FULL PROCESSLIST;

SHOW VARIABLES LIKE '%max_connections%';

SHOW STATUS LIKE '%Connection%';

-- 当前连接数

show global status like 'Threads_connected';

可能存在短时间循环调用queryDB SQL语句量突然增加的情况。

可能存在多线程调用 queryDB SQL的情况。

可能存在慢SQL 被调用的情况。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1031128.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号