您的当前位置:首页 >应用开发 >API接口性能优化总结 正文
时间:2025-11-05 11:49:28 来源:网络整理编辑:应用开发
摘要在web开发过程中,经常会遇到接口RT高的情况,除了通过监控事后优化的方式,我们还需要掌握一些常用的手段,避免写出慢的接口。从前端发起调用到后端一般经过网关层、应用层、存储层。每一层都可以优化,本
在web开发过程中,接结经常会遇到接口RT高的口性情况,除了通过监控事后优化的化总方式,我们还需要掌握一些常用的接结手段,避免写出慢的口性接口。从前端发起调用到后端一般经过网关层、化总应用层、接结存储层。口性每一层都可以优化,化总本篇文章主要是接结应用层优化。常见性能优化思路
从理论上分析,口性性能优化手段通常有

之前在sql IN一文中分析过,IN 的数量太多时,亿华云性能会下降。同样服务间调用,数据量过大,带宽占用大。所以这时候需要分批调用。
复制 List<String> res= Lists.partition(ids, 200).parallelStream()
.flatMap(batch -> mServiceA.batchGetA(batch).stream())
.collect(Collectors.toList());1.2.3. 并行/并发处理,利用多线程可以提高效率比如接口中需要请求多个外部接口/数据库,相互之间无依赖,因为这种操作都是IO操作,可以由顺序执行改为并行执行,充分利用cpu处理能力,如
复制CompletableFuture<String> a = CompletableFuture.supplyAsync(() -> mServiceA.getA());
CompletableFuture<String> b = CompletableFuture.supplyAsync(() -> mServiceB.getB());
CompletableFuture.allOf(a,b).join();1.2.3. 异步,非强依赖的调用可以通过异步化处理异步,分为读写。比如写是弱依赖,可以用@Async或者其他操作。
如果是读,不是必须的IT技术网数据,也需要加上超时处理,因为外部调用有网络原因,都是不可靠的
复制CompletableFuture<String> a = CompletableFuture.supplyAsync(() -> mServiceA.getA());
CompletableFuture<String> b = CompletableFuture.supplyAsync(() -> mServiceB.getB());
try{
CompletableFuture.allOf(a, b).get(1000, TimeUnit.MILLISECONDS);
} catch (Exception ex) {
if (!a.isDone()) {
}
if (!b.isDone()) {
}
}1.2.3.4.5.6.7.8.9.10.11.12.13. 减少数据处理量eg. 拉取外部数据,全量的循环去拉,增量的使用事件通知机制,这样可以减少数据处理量
避免深度分页数据库的深度分页性能比较差,需要在业务上避免深度分页
缓存缓存本质上就是从读取速度快的设备中直接获取数据。通过空间来换时间。对于DB中的数据可以缓存,对于外部服务的数据同样可以缓存
使用多级缓存,可以最大限度提升性能。
Note3和Note5的音质比较分析(探索旗舰手机Note3和Note5的音质差异,分析其性能和优缺点)2025-11-05 11:43
windows 7系统中不能把程序锁定到任务栏的解决方法图文讲解2025-11-05 11:32
windows 7电脑蓝牙图标不见了怎么办?2025-11-05 11:26
windows 7系统不一样的小功能汇总2025-11-05 11:26
华为MatePad如何满足用户需求?2025-11-05 10:50
windows 7系统下怎样使用电脑蓝牙给手机发送文件2025-11-05 10:38
去掉电脑右下角出现windows 7测试模式内部版本7601的方法2025-11-05 09:56
windows 7 SP1补丁32/64位 2015年1月汇总篇(内附下载)2025-11-05 09:47
神舟战神k680e(解析神舟战神k680e的配置和特点,为游戏爱好者带来极致体验)2025-11-05 09:41
怎么禁止windows 7系统位置设置的自动播放功能?2025-11-05 09:04
XE680——开创智能交通新纪元(行驶更智能、更安全,XE680让出行更便捷)2025-11-05 11:44
使用Windows7系统自带磁盘管理工具调整硬盘分区大小2025-11-05 11:26
windows 7系统下QQ打不开怎么办图文解决方法2025-11-05 11:18
如何删除自带的不常用应用为windows 7减负2025-11-05 11:03
windows 7不重要的气球通知如何减少解决方法2025-11-05 10:38
windows 7电源管理在哪 windows 7电源管理设置图文教程2025-11-05 09:55
Windows7音频服务未运行的原因以及解决办法2025-11-05 09:53
华为荣耀6x质量考察(全面考察华为荣耀6x的质量表现)2025-11-05 09:45
windows 7怎么关闭放大镜?windows7取消开机自动运行放大镜方法2025-11-05 09:13