接口优化从20s优化到500ms
前言
接口性能问题,对于从事后端开发的同学来说,是一个绕不开的话题。想要优化一个接口的性能,需要从多个方面着手。
本文将会接着接口性能优化这个话题,从实战的角度出发,聊聊我是如何优化一个慢查询接口的。
上周我优化了一下线上的批量评分查询接口,将接口性能从最初的20s
,优化到目前的500ms
以内。
1. 案发现场
我们每天早上上班前,都会收到一封线上慢查询接口汇总邮件,邮件中会展示接口地址
、调用次数
、最大耗时
、平均耗时
和traceId
等信息。
我看到其中有一个批量评分查询接口,最大耗时达到了20s
,平均耗时也有2s
。
用skywalking
查看该接口的调用信息,发现绝大数情况下,该接口响应还是比较快的,大部分情况都是500ms左右就能返回,但也有少部分超过了20s的请求。
这个现象就非常奇怪了。
莫非跟数据有关?
比如:要查某一个组织的数据,是非常快的。但如果要查平台,即组织的根节点,这种情况下,需要查询的数据量非常大,接口响应就可能会非常慢。
但事实证明不是这个原因。
很快有个同事给出了答案。
他们在结算单列表页面中,批量请求了这个接口,但他传参的数据量非常大。
怎么回事呢?
当初说的需求是这个接口给分页的列表页面调用,每页大小有:10、20、30、50、100
接口优化从20s优化到500ms相关推荐
- Java性能优化从20s优化到500ms,我用了这三招,内容知识满满
文章目录 前言 1. 案发现场 2. 现状 3. 第一次优化 4. 第二次优化 5. 第三次优化 5.1 前端做分页 5.2 分批调用接口 前言 接口性能问题,对于从事后端开发的同学来说,是一个绕不开 ...
- linux hdmi分辨率设置方法,HDMI接口进行设置来优化显示效果详解
原标题:"利用HDMI接口进行设置来优化显示效果详解"的相关电脑教程资料分享.- 191路由网编辑整理. 最近小编收到一个朋友的求助表示不知道如何通过对HDMI接口进行设置来优化显 ...
- 商品秒杀接口压测及优化
目录 一.生成测试用户 二.jmeter压测 三.秒杀接口优化 1.优化第一步:解决超卖 2.优化第二步:Redis重复抢购 3.优化第三步:Redis预减库存 ①商品初始化 ②预减库存 一.生成测试 ...
- App性能优化(布局优化,线程优化,app瘦身优化,页面切换优化,App启动优化,内存优化)
Android APP性能优化(最新总结) 在目前Android开发中,UI布局可以说是每个App使用频率很高的,随着UI越来越多,布局的重复性.复杂度也随之增长,这样使得UI布局的优化,显得至关重要 ...
- Android系统性能优化(69)---含内存优化、布局优化
Android性能优化:含内存优化.布局优化 前言 在 Android开发中,性能优化策略十分重要 因为其决定了应用程序的开发质量:可用性.流畅性.稳定性等,是提高用户留存率的关键 本文全面讲解性能优 ...
- Android 系统性能优化(41)---Android代码内存优化建议-OnTrimMemory优化
Android代码内存优化建议-OnTrimMemory优化 OnTrimMemory 回调是 Android 4.0 之后提供的一个API,这个 API 是提供给开发者的,它的主要作用是提示开发者在 ...
- Android 性能优化(62)---存检测、卡顿优化、耗电优化、APK瘦身——详解篇
Android 性能优化,内存检测.卡顿优化.耗电优化.APK瘦身--详解篇 自2008年智能时代开始,Android操作系统一路高歌,10年智能机发展之路,如今 Android 9.0 代号P 都 ...
- Android性能优化系列篇(三):崩溃优化+卡顿优化
前言 汇总了一下众多大佬的性能优化文章,知识点,主要包含: UI优化/启动优化/崩溃优化/卡顿优化/安全性优化/弱网优化/APP深度优化等等等~ 本篇是第三篇:崩溃优化+卡顿优化 [非商业用途,如有侵 ...
- 网页 SEO 优化(搜索引擎优化)
网页 SEO 优化 什么是 SEO? 全称:Search English Optimization,搜索引擎优化 利用搜索引擎的规则提高网站在有关搜索引擎内的自然排名.目的是:为网站提供生态式的自我营 ...
最新文章
- JS 时间戳转换成日期
- Idea-LifecycleException when deploying
- python自动切换链接_windown 使用python 自动切换网络
- 【Android 逆向】类加载器 ClassLoader ( 类加载时机 | 隐式加载 | 显示加载 | 类加载步骤 | 装载 | 链接 | 初始化 )
- Windows服务程序时钟调用
- 1.8 Boolean类
- java 配置文件加载_Java加载配置文件类
- 路由器笔记 CCNA
- flowable 数据库表结构 梳理
- 删了自己写的代码?判刑10个月!
- Beyond Compare 出现“这个许可证密钥已被撤销”的解决办法(不会删除记录)
- Nginx 自定义404 页面
- 190312每日一句
- 整理农行面试软开最常问到的题---------框架
- Python 筛法求素数
- ASP.NET ZERO 学习 —— (4) 开发手册之AccountController
- 科技论文计算机排版格式,科技论文排版参考格式
- C++编译错误提示 [Error] name lookup of 'i' changed for ISO 'for' scoping
- 2022DASCTF Apr X FATE 防疫挑战赛 部分web复现
- 使用Matlab提取ADC数据占空比变化的波形
热门文章
- C语言文件英文,c语言文件操作(国外英文资料).doc
- 解决问题:cannot create symlink in “/etc/docker“: existing file in the way
- 【深入理解C++】头文件防卫式声明
- 移动平台动画设计的12个原则
- Linux中 安装一些实用小软件总结
- word无法验证服务器,Office提示“无法验证此应用程序的许可证”时怎么处理?...
- python判断水仙花数函数_Python(6):上机练习——函数练习之水仙花数
- 【LeetCode】一年中的第几天
- python/appium实现华为应用商城app界面上下滑动打开关闭通知栏等功能
- 初探富文本之编辑器引擎