秒级接口如何性能达标

举报
骨碌骨碌 发表于 2023/12/13 15:13:38 2023/12/13
【摘要】 项目中,发现通过API获取数据,是主要的数据消费场景,一般业务用户能接受的页面性能为3S,API接口性能一般建议再1S内。 本文主要介绍常见的API接口优化场景,通过本文您可以学习到常见性能场景有哪些,如何分析定位问题。解决思路,及优化方案借鉴。

项目中,发现通过API获取数据,是主要的数据消费场景,一般业务用户能接受的页面性能为3S,API接口性能一般建议再1S内。
本文主要介绍常见的API接口优化场景,通过本文您可以学习到常见性能场景有哪些,如何分析定位问题。解决思路,及优化方案借鉴。

案例一、场景特征:表扫描慢,从5.7亿表扫描11W数据。添加PCK,从6s提升到300MS

下图可以看到性能瓶颈主要在18算子,扫描耗时6319ms,扫描结果集为115412
image.png

查找过滤条件,可以看到过滤了5.7亿数据,也就是从5.7亿数据中扫描11W数据耗时6S
image.png

调试分析,逐个条件统计结果集。时间取了2年数据,关键有效的过滤条件为external_name

DN信息发现有些DN数据row=0,最大的rows=19762。数据扫描分布不均匀
image.png

整改方案:

1、创建新DDL,分布方式采用DISTRIBUTE BY ROUNDROBIN
2、添加PCK,ALTER TABLE dm_mss_cn_pc_rep_rp_city_d_f_1213 ADD PARTIAL CLUSTER KEY (external_name);
3、重新导入数据,值得注意的是添加PCK后只对新增数据有效,所以需要对表全量重新导入。
4、信息收集analyze dm_mss_cn_pc_rep_rp_city_d_f_1213

整改后效果:
image.png

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。