Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >为了减少接口的响应时间,有哪些优化措施?

为了减少接口的响应时间,有哪些优化措施?

作者头像
lyb-geek
发布于 2019-11-20 06:39:08
发布于 2019-11-20 06:39:08
1.6K0
举报
文章被收录于专栏:Linyb极客之路Linyb极客之路
我们在开发过程中,当然是希望自己项目接口的响应时间越短越好,至少我看着自己开发出来的代码,都是毫秒级的响应,会有一种自豪感;那么我们项目做了哪些优化,和大家分享分享。

优化代码

先从小处着手,代码写的好坏,直接影响到接口的响应速度;当然这里也不可能展开详谈每一行代码怎么写,主要还是说一下措施:

代码规范:我经常会以自己的标准去衡量其他开发人员代码的好坏,虽然我也不是什么大牛,但毕竟做了十多年的开发,所以很多时候组内年轻人的代码,在我眼里都是不合格的,为了短时间内提升他们的代码水平,只能制定详细的代码规范让他们去遵守;

项目级的处理方案:有些公共的功能,并不需要每个开发去写代码,比如异常处理,直接往上抛,会有统一的代码捕捉异常进行处理的。

集体Code Review还是有必要做的,一方面起到一个威慑的作用(大部分人都好面子,如果自己写的代码太烂被大家看到,也会不好意思,所以写代码的时候会小心一些),另外确实可以让开发人员取长补短。

缓存

缓存很重要,所以单独拿出来说。

出参入参直接缓存:某些场景下,是可以直接把入参作为key,出参作为value,直接缓存起来的,比如放到Redis中;我们有个项目是做费率计算的,需要根据入参查询费率表,并有大量的计算操作,这种场景有两个特点:一是费率信息不会改变,二是计算复杂费时,这个场景就非常适用于出参入参直接缓存(出参=计算结果)。

字典类型的数据,可以静态化后放入内存或第三方缓存中,并定时刷新缓存或做缓存失效的设置。

提前做数据的整合和加工:如果一个接口返回的数据需要几张表关联后才能提供,如果可以的话,尽量提前把这个关联做好;真正接口查询的时候,只查询关联后的结果就可以了。

总之,能查询缓存的话,尽量不要直接查询数据库

接口拆分

设计和代码一样重要,甚至在我看来,设计比敲代码更重要;所以如何设计一个接口,是非常重要的(通常要全盘考虑):

我见过这样的接口,号称万能接口,只对外提供一个接口,根据传入参数的不同,后面的业务逻辑也不相同,我是非常反感这样的做法。

垂直拆分:把一个庞大的接口,拆分成N个独立的小接口,每个接口可以独立部署、维护、迭代;但是接口的【大小】,是很考验开发人员(架构)的。

水平拆分:一方面把接口部署多套,前面挂负载均衡,这是水平拆分的一种;另外一种水平拆分,是将接口中的业务逻辑拆分后并行处理,也是可以减少接口的响应时间的。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-11-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Linyb极客之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
性能分析之可悲的响应时间
不止一次并且在不同的场合都被问到了响应时间该如何分析和定义的问题。问题大概是两种:
高楼Zee
2019/07/17
1.7K0
性能分析之可悲的响应时间
互联网性能测试响应时间的标准
如果您指望我在这里给出一个关于性能好坏的行业标准,那我很遗憾地告诉您,没有这样的指导标准存在。不过,业内倒是有许多非正式的标准,试图对系统的性能好坏做出评价,尤其是针对基于B/S架构的应用程序。举例来说,您可能听说过“页面最小刷新时间”这种说法;我记得它从20秒迅速提高到8秒。当然了,用户和企业都希望系统能够“即时响应”,但这样的性能要求是很难达到的。
漫谈测试
2024/08/20
2540
互联网性能测试响应时间的标准
如何用Python获取接口响应时间?elapsed方法来帮你!
requests发请求时,接口的响应时间,也是我们需要关注的一个点,如果响应时间太长,显然是不合理的。
清菡
2022/03/30
1.8K0
如何用Python获取接口响应时间?elapsed方法来帮你!
程序员修神之路--高并发下如何缩短响应时间
网站响应时间是指系统对请求作出响应的时间。通俗来讲就是我们把网址输入进浏览器然后敲回车键开始一直到浏览器把网站的内容呈现给用户的这段时间。网站响应时间是越短越好,因为网站页面打开速度越快,就意味着我们的用户可以更快的访问站点或者我们的服务器。一般我们网站的响应时间保持在100~1000ms即可。1m=1000ms,打开速度越快对用户体验度越好。据说响应时间还会影响到网站SEO效果(请行业专家留言告诉我)。
架构师修行之路
2019/06/21
5400
程序员修神之路--高并发下如何缩短响应时间
如何正确理解RT并监控MySQL的响应时间
响应时间(response time 简称RT)是从系统接收请求开始到返回响应之间的时间跨度,是一项极其重要的性能指标。它可以从侧面反映系统的整体吞吐量,也是业务请求(比如sql 请求)的性能好坏的判断依据。
用户1278550
2019/11/12
3.3K0
聊一聊接口测试需要关注的点有哪些?
接口测试的关注点通常包括功能正确性、性能、安全性、兼容性、可靠性、数据管理、文档规范、异常处理、幂等性、上下游影响、测试数据构造以及持续集成等。
漫谈测试
2025/04/22
1060
聊一聊接口测试需要关注的点有哪些?
如何测量并报告ASP.NET Core Web API请求的响应时间
大家都知道性能是API的流行语。而相应时间则是API性能的一个重要并且可测量的参数。在本文中,我们将了解如何使用代码来测量API的响应时间,然后将响应时间数据返回到客户端。
依乐祝
2018/09/18
2K0
如何测量并报告ASP.NET Core Web API请求的响应时间
Java程序员如何运用所掌握的技术构建一个完整的业务架构
创业之初,我们往往会为了快速迭代出产品,而选择最简单的技术架构,比如LAMP架构,SSH三层架构。这些架构可以适应初期业务的快速发展,但是,随着业务变得越来越复杂,我们会发现这些架构越来越难支撑业务的发展,出现在一个类中写好几千行代码,一个方法中到处都是if else语句,如果中间遇到主程序猿离职,后面介入的程序猿几乎无法理解这些代码,到最后,产品越来越难迭代,只能推翻重做。如果我们在创业初始就以一种适应性较强的架构去写代码,后面就会少走很多弯路。下面的文章是我自己总结出来的一套架构,经过实践,适应性还算不错。
美的让人心动
2018/05/28
9551
从 0 开始构建一个亿级请求的微服务架构
单体应用因其架构简单、使用技术门槛低、研发快速上手、项目快速上线等特点是创业公司初级阶段的必然产物。随着平台用户规模的递增,产品功能的丰富以及需求迭代的频率也会加速,相对应的研发人数也逐步递增,系统的性能问题、研发人员之间的协作问题、交付速度等一系列的问题就慢慢凸显,这些问题会逐步演化成阻碍项目推进的“绊脚石”。此时微服务的出现似乎是一根救命稻草,但凡遇到系统性能、项目交付质量、项目进度等问题的时候就开始准备系统重构,认为往微服务方向转型就一定能解决这些面临的问题。那么一个在企业在单体应用架构中到底如何转型微服务呢?在转型之前还需要去了解下实施微服务的一些前置条件。
Java架构师必看
2020/10/23
7480
将一个接口响应时间从2s优化到 200ms以内的一个案例
本文讲讲是如何定位到性能瓶颈以及修改的思路,将该接口从 2 s 左右优化到 200ms 以内 。
明明如月学长
2021/08/31
2.2K0
【Jmeter篇】抓包导出Jmeter脚本及查看接口响应时间
1、可通过Rules-Customize Rules用记事本打开,把下面的代码复制到 class Handlers中
王大力测试进阶之路
2019/10/25
3.6K0
【Jmeter篇】抓包导出Jmeter脚本及查看接口响应时间
探索SQL性能优化之道:实用技巧与最佳实践
在确定需要优化的目标时,先了解哪些查询执行速度较慢非常重要。通过分析慢查询日志,找出问题并对症下药。
35岁程序员那些事
2023/09/11
1.1K0
探索SQL性能优化之道:实用技巧与最佳实践
大型分布式业务平台数据库优化方法(下)
文章摘要:当单表数据达到千万以上时,通过加索引或者表分区优化提升的效果就比较有限了,应该如何应对呢???
用户2991389
2018/09/05
1.1K0
大型分布式业务平台数据库优化方法(下)
漫漫优化路,总会错几步(记一次接口优化)
本文作者:狂乱的贵公子 原文地址:http://1t.click/kk5 最近做了一个搜索接口的优化,反复压测了四次,终于达到要求了,记录一下,晚上加个鸡腿? 业务逻辑 从OpenSearch中检索
江南一点雨
2019/07/17
3880
漫漫优化路,总会错几步(记一次接口优化)
干货 | 携程国际BU的SEO重构实践
熊聘,携程国际事业部公共研发团队Leader,目前主要负责国际化相关的基础组件和市场相关项目的研发。开源社区爱好者,喜欢阅读优秀的开源项目源码,对新技术有着深厚的兴趣。
携程技术
2019/04/22
8380
干货 | 携程国际BU的SEO重构实践
高性能网站架构方案(二)——优化网站响应时间
高性能网站架构方案(二)——优化网站响应时间 (原创内容,转载请注明来源,谢谢) 一、概述 优化网站响应时间是保证网站受用户关注的要点,主要方案有: 1、减少HTTP请求 当需要加载图片、css、js等内容时,尽量减少加载的次数。可以合并加载,另外当改动量很少时,尽量将内容进行缓存。 图片的缓存可以设定更新时间,定时去服务器查看是否有需要更新的内容。通常可以定时在1周甚至更久的时间。 CSS、JS的缓存,通常可以通过文件名的方式来判断是否需要重新加载。当网页确定需要加载某些js和c
用户1327360
2018/03/07
9430
漫漫优化路,总会错几步!记一次接口优化!
点击上方"IT牧场",选择"设为星标"技术干货每日送达!来源:www.cnblogs.com/cjsblog/p/10573215.html
用户1516716
2019/08/14
4120
漫漫优化路,总会错几步!记一次接口优化!
架构风格区别-架构案例(五十九)
(3)ESB服务总线把每个服务一起管理,方便交互,将不同系统通过api,web Service来进行连接。
用户9919783
2023/10/24
2360
架构风格区别-架构案例(五十九)
企业上云如何优化性能?
​​应用系统上线运行后,随着系统数据量的不断增长、访问量的不断上升,系统的响应速度通常会越来越慢,尤其日常峰值情况下常不能满足业务需要,甚至出现应用服务中断的现象,给企业造成巨大的品牌损失和经济损失。大量数据表明,每0.1秒的核心体验响应时间延长会导致1%的营收下降。企业应用系统上云,如何在云端利用云的优势进行性能优化,是一个值得深入分析的重点问题。
嘉为蓝鲸
2020/01/16
9960
企业上云如何优化性能?
高并发环境面临的系统瓶颈与应对方案
今日闲暇之时,头脑风暴了一个问题 — 随着 QPS、业务复杂度的不断增长,哪些因素会成为瓶颈,又应该如何去优化呢? 结合此前的高并发场景相关的工作经验,从以下五点进行了考虑和总结:
用户3147702
2022/06/27
1.3K0
高并发环境面临的系统瓶颈与应对方案
推荐阅读
相关推荐
性能分析之可悲的响应时间
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档