1.池化思想

如果每次需要用到线程都去创建,就会增加一定的耗时,而线程池可以重复利用县城,避免不必要的耗时。再比如 TCP三次握手,他为了减少性能损耗,引入了Keep-Alive长连接,避免频繁的创建和销毁连接。

2.拒接阻塞等待

如果你调用一个系统的B接口,但是它处理业务逻辑,耗时需要10s甚至更多。如果一直阻塞等待,知道系统B的下游接口返回,在继续你的下一步操作,这很不合理。可以参考10多路复用模型。即我们不用阻塞等待系统B的接口,而是先去做别的操作,等系统B的接口处理完,通过事件回调通知,我们接口收到通知再进行对应的业务操作即可。

3.远程调用由串行改为并行

一个页面查询多种信息。如果是串行一个一个查,太耗时了,这种场景可以改为并行调用的,降低接口耗时。

4.锁粒度避免过粗

在高并发场景,为了防止超卖等情况,我们经常需要加锁来保护共享资源,但是,如果加锁的粒度过粗,很影响接口的性能。
不管是synchronzied加锁还是redis分布式锁,只需要在共享临界资源加锁即可,不涉及共享资源的,就不必要加锁。

5.提前初始化到缓存

预取思想很容易理解,就是提前把要计算查询的数据,初始化到缓存。

6.耗时操作,考虑放到异步执行

耗时操作,考虑用到一步处理,这样可以降低接口耗时,比如用户注册成功后,短信邮件通知,是可以异步处理的。

7.使用缓存

把查询的数据放到缓存中,需要时,直接从缓存中查找,而避免去查数据库耗时。

8.压缩传输内容

压缩传输内容,传输报文变得更小,因此传输会更快。

如何让接口性能提升?相关推荐

  1. VNPY官方发布VNTrader,VNPY性能提升380%,python的便捷,C++性能加持, 期货CTP接口Python和PyQT框架

    VNPY官方 VNTrader (基于期货CTP接口专用量化交易开源软件) 介绍 VNTrader是VNPY官方 http://www.vnpy.cn 推出的一款国内期货量化交易开源软件, 基于MIT ...

  2. 深度干货!如何将深度学习训练性能提升数倍?

    作者 | 车漾,阿里云高级技术专家 顾荣,南京大学副研究员 责编 | 唐小引 头图 | CSDN 下载自东方 IC 出品 | CSDN(ID:CSDNnews) 近些年,以深度学习为代表的人工智能技术 ...

  3. 性能提升3倍的树莓派4,被爆设计缺陷!

    整理 | 屠敏 转载自CSDN(ID:CSDNnews) 一直以来,素有世界最小电脑之称的 Raspberry Pi(树莓派)是一种独特的存在.它不仅只有一块信用卡般的体积,还具备主机电脑所具备的功能 ...

  4. 初探性能优化--2个月到4小时的性能提升!

    作者:闪客sun  |  博客园 https://www.cnblogs.com/flashsun 一直不知道性能优化都要做些什么,从哪方面思考,直到最近接手了一个公司的小项目,可谓麻雀虽小五脏俱全. ...

  5. 细说接口性能优化的11个小技巧

    前言 接口性能优化对于从事后端开发的同学来说,肯定再熟悉不过了,因为它是一个跟开发语言无关的公共问题. 该问题说简单也简单,说复杂也复杂. 有时候,只需加个索引就能解决问题. 有时候,需要做代码重构. ...

  6. 详细的聊聊接口性能优化的11个小技巧 不收藏对不起我

    前言 接口性能优化对于从事后端开发的同学来说,肯定再熟悉不过了,因为它是一个跟开发语言无关的公共问题. 该问题说简单也简单,说复杂也复杂. 有时候,只需加个索引就能解决问题. 有时候,需要做代码重构. ...

  7. 137% YOLOv3加速、10倍搜索性能提升!百度飞桨推出模型压缩神器

    深度学习模型压缩,又有利器问世. 最新消息,历经一年四个版本打磨之后,百度推出最新深度学习模型压缩工具PaddleSlim1.0. 不仅囊括了深度学习模型压缩中常用的量化.剪裁.蒸馏.模型结构搜索.模 ...

  8. 性能提升19倍,DGL重大更新支持亿级规模图神经网络训练

    https://www.toutiao.com/a6690329469023945220/ 本文重点介绍了 DGL v0.3的重要特性之一 - 消息融合. 我们在去年12月发布了Deep Graph ...

  9. 苹果发布全球首款5nm芯片A14!性能提升40%,新iPad Air率先搭载

    边策 贾浩楠 萧箫 杨净 发自 凹非寺  量子位 报道 | 公众号 QbitAI 也是罕见,苹果的新品发布会,新一代iPhone没亮相,倒是把最新最强的AI芯片发布了. 没错,今天苹果没有发布iPho ...

最新文章

  1. 石锤!谷歌排名第一的编程语言,死磕这点,程序员都收益
  2. Http和Https对比
  3. linux6的关机快捷键是,桌面应用|Fedora GNOME 的常用快捷键
  4. Linux hostname指令
  5. TCP/IP 网络编程 (三)
  6. .NET 6 预览版 7:新功能已完成 ,将专注于改进
  7. Union/find--不相交集类(并查集)
  8. Element-UI安装和项目开发
  9. java 时间格式化_还在用SimpleDateFormat格式化时间?小心经理锤你
  10. C#的变迁史 - C# 5.0 之其他增强篇
  11. java中日期做减法_Java中日期的加法和减法
  12. hex与bin文件及hex2bin
  13. IANA已注册的TCP/UDP/SCTP/DCCP传输协议端口及服务名称
  14. Oracle多条重复id,查询时间最早的那条
  15. 转:visio 2013 激活软件 -- 记录
  16. 故障树分析法MATLAB,基于VC++与MATLAB的故障树分析系统
  17. 【夏季养生以心为大】
  18. 计算机毕业设计Java房产中介管理系统(源码+系统+mysql数据库+lW文档)
  19. 【求助】BEXCEL文件如何编辑?
  20. Elasticsearch7.x证书过期简单解决方法

热门文章

  1. 游戏大厅 从基础开始(4)-通过L2X用配置文件反射组装程序(VB only)
  2. es bulk java_es v6.8.3 bulk 异常
  3. python与人工智能课程设计_人工智能+机器人入门与实战:用树莓派+Python+OpenCV制作计算机视觉机器人...
  4. 高光谱图像基础知识(一)
  5. python 点击tree目录、执行下一个操作_如何使用python解决下一个iter(xml.etree.ElementTree)?...
  6. TikTok营销策略 如何打造TikTok爆款视频?
  7. xctf攻防世界pwn基础题解(新手食用)
  8. 网络营销实战课-笔记5
  9. java ee 物联网 论文_《物联网技术》-科技刊物-中国论文交流中心www.cnlwjl.com
  10. 【Git】fatal: unable to access ‘http://gitlab.example.com/root/test_gitlab.git/‘: Could not resolve ho