秒级接口如何性能达标
【摘要】 项目中,发现通过API获取数据,是主要的数据消费场景,一般业务用户能接受的页面性能为3S,API接口性能一般建议再1S内。
本文主要介绍常见的API接口优化场景,通过本文您可以学习到常见性能场景有哪些,如何分析定位问题。解决思路,及优化方案借鉴。
项目中,发现通过API获取数据,是主要的数据消费场景,一般业务用户能接受的页面性能为3S,API接口性能一般建议再1S内。
本文主要介绍常见的API接口优化场景,通过本文您可以学习到常见性能场景有哪些,如何分析定位问题。解决思路,及优化方案借鉴。
案例一、场景特征:表扫描慢,从5.7亿表扫描11W数据。添加PCK,从6s提升到300MS
下图可以看到性能瓶颈主要在18算子,扫描耗时6319ms,扫描结果集为115412
查找过滤条件,可以看到过滤了5.7亿数据,也就是从5.7亿数据中扫描11W数据耗时6S
调试分析,逐个条件统计结果集。时间取了2年数据,关键有效的过滤条件为external_name
DN信息发现有些DN数据row=0,最大的rows=19762。数据扫描分布不均匀
整改方案:
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
整改后效果:
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)