首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏JavaEdge

    接口优化概述

    概述 推荐的分库分表中间件mycat 秒杀接口优化

    606110发布于 2018-05-16
  • 来自专栏gglinux.com

    PHP接口性能优化

    针对首屏接口,我们针对其完成了两次性能优化。 分屏加载 将本来属于一个接口的内容,单独在两个请求中返回。第一屏API返回关键的数据,减少用户初次进入的等待时间。第二屏,返回剩余的大部分数据。 现在只需要拿到第一屏的接口,即可完成界面的渲染工作。 分屏后第一屏接口耗时 [这里写图片描述] 分屏后第二屏接口耗时 [这里写图片描述] xhprof性能分析 通过在alpha坏境和beta坏境部署Xhprof性能分析工具。 第四,追踪MYSQL慢查询,优化查询SQL。完成后,第一屏性能提升30%~50%。第二屏提升40%~60%。 实际结果可看下图 第二次优化第一屏接口耗时 [第一屏接口] 第二次优化第二屏接口耗时 [第二屏接口] 希望转载的朋友能够尊重作者的劳动成果,加上转载地址。谢谢!

    3K70发布于 2019-02-23
  • 来自专栏kwai

    接口优化方案实践

    前言 接口性能问题,对于从事后端开发的同学来说,是一个绕不开的话题。想要优化一个接口的性能,需要从多个方面着手。 本文将会接着接口性能优化这个话题,从实战的角度出发,聊聊我是如何优化一个慢查询接口的。 上周我优化了一下线上的批量评分查询接口,将接口性能从最初的20s,优化到目前的500ms以内。 优化场景 1. 案发现场 我们每天早上上班前,都会收到一封线上慢查询接口汇总邮件,邮件中会展示接口地址、调用次数、最大耗时、平均耗时和traceId等信息。 所以,还是先保持在接口中远程调用吧。 这样看来,可以优化的地方只能在:for循环中查询数据。 优化方案 第一次优化 由于需要在for循环中,每条记录都要根据不同的条件,查询出想要的数据。 经过这次优化,效果立竿见影。 批量评价查询接口最大耗时,从最初的20s,缩短到了5s左右。 第二次优化 由于需要在for循环中,每条记录都要根据不同的条件,查询出想要的数据。

    1.4K80编辑于 2023-03-29
  • 来自专栏芋道源码1024

    接口性能优化技巧

    作为一个优秀的后端程序员,这个数据肯定是不能忍的,我们马上就进入了漫长的接口优化之路。本文就是对我们漫长工作历程的一个总结。 这个跟 mysql 的 sql 优化有关,mysql 会在 sql 优化的时候自己选择合适的索引,很可能是 mysql 自己的选择算法算出来使用这个索引不会提升性能,所以就放弃了。 一般来说,不建议使用子查询,可以把子查询改成 join 来优化。同时,join 关联的表也不宜过多,一般来说 2-3 张表还是合适的。 这些万金油解决方式往往能解决大部分的接口缓慢的问题,而且也往往是我们解决接口效率问题的最终解决方案。 当我们实在是没有办法排查出问题,或者实在是没有优化空间的时候,可以尝试这种万金油的方式。 而后调用银行接口,当获得支付结果后再调用上游系统的回调接口返回付款的最终结果“成果”or“失败”。这样就可以异步执行付款过程,提升付款接口效率。

    70330编辑于 2022-06-07
  • 来自专栏JAVA

    JAVA代码优化接口优化,SQL优化 (小技巧)

    7.多线程处理 很多时候,我们需要在某个接口中,调用其他服务的接口。 比如有这样的业务场景: 在用户信息查询接口中需要返回:用户名称、性别、等级、头像、积分、成长值等信息。 那么如何优化远程接口性能呢? 上面说到,既然串行调用多个远程接口性能很差,为什么不改成并行呢? 1.索引 接口性能优化大家第一个想到的可能是:优化索引。 没错,优化索引的成本是最小的。 你通过查看线上日志或者监控报告,查到某个接口用到的某条sql语句耗时比较长。 路由的算法挺多的: 根据id取模,比如:id=7,有4张表,则7%4=3,模为3,路由到用户表3。 因为ids太多,即使能快速查出数据,但如果返回的数据量太大了,网络传输也是非常消耗性能的,接口性能始终好不到哪里去。 7 增量查询 有时候,我们需要通过远程接口查询数据,然后同步到另外一个数据库。

    70910编辑于 2024-11-20
  • 来自专栏dongfanger

    Java官方笔记7接口

    接口 接口只能包含:constants, method signatures(abstract), default methods, static methods, and nested types 方法体只存在于 :default methods and static methods 接口不能实例化,只能被类实现,或者被其他接口继承(接口可以多继承)。 实现接口 接口: public interface Relatable { // this (object calling isLargerThan()) // and other must ,那么子接口的默认方法有可能出现: 无声明,继承父接口的默认方法 声明,变为abstract method,实现类,必须实现该方法(也就是父类默认,但是子类不默认了) 声明并重写,以子类的默认方法为准 ,必须是实现该接口的类的实例。

    27430编辑于 2023-06-10
  • 来自专栏Java Web

    「MoreThanJava」Day 7接口详解

    接口为 Java 提供了多继承的一些优点,而没有缺点。 接口的概念 在 Java 程序设计语言中,接口不是类,而是对希望符合这个接口的类的一组需求。 接口的定义 在 Java 中使用 interface 关键字来定义接口接口是顶级的 "类",虽然关键字是 interface,但编译之后的字节码扩展名还是 .class。 因为接口是绝对抽象的,不允许实现..),但你可以定义一个类实现 (关键字 impelents) 接口,一旦你这么做了,你就可以构造这个 (实现接口的) 类的对象。 由于私有方法只能在接口本身的方法中使用,所以它们的用法很有限,只能作为接口中其他方法的辅助方法。 默认方法 在 Java 8 中,允许为接口方法提供一个默认的实现。 / 接口的定义 / 接口的实现 / 接口的属性; 接口的静态和私有方法 / 如何解决默认方法的冲突; 接口和工厂模式; 练习 练习 1:实现一个图形绘制工具 创建一个可以绘制不同形状的绘图工具,可以绘制圆形

    66830发布于 2020-08-17
  • Java Collection(7)——Iterable接口

    1.Iterator接口 1.1 Iterator接口和其他集合类的关系 Java集合类中,Iterable接口属于顶层接口,除Map接口外,其他都实现了Iterable接口,这意味着它们都可以重写和使用 Iterable接口中的方法 1.2 Iterable接口简介 在JDK1.7以前,Iterable接口内部只定义了iterator()方法。 然而在JDK1.8及以后,又新增了forEach()和spliterator()方法 1.2.1 iterator() 作用:iterator()方法用于返回一个Iterator对象,该对象是一个接口, integer += 1; System.out.println(integer); }); } 1.2.2 forEach()&foreach() (1)Iterable接口中的 remove()方法来删除元素,并且该删除操作是可以映射到集合本身的;但是foreach方法不行 1.2.3 spliterator()方法 作用:用于返回Spliterator对象,该对象是一个接口

    13010编辑于 2026-01-13
  • 来自专栏Java帮帮-微信公众号-技术文章全总结

    Tomcat7优化

    用了很久的Tomcat,没怎么看过它的优化,今天抽出时间研究了下,将内容记录下。 示的参数来优化tomcat。    二、优化 1. 禁用AJP协议   (1)通过禁用AJP协议,达到在集群的时候提高处理请求的时间。 将BIO通讯模式修改为NIO通讯模式   (1)tomcat通讯协议支持http1.0和1.1,tomcat默认走的是BIO通讯模式,tomcat7和tomcat8之所以默认的都是效率低下的BIO通讯模式 优化连接器   最佳实践:   5.

    2K100发布于 2018-03-15
  • 来自专栏方丈的寺院

    API接口性能优化总结

    摘要 在web开发过程中,经常会遇到接口RT高的情况,除了通过监控事后优化的方式,我们还需要掌握一些常用的手段,避免写出慢的接口。从前端发起调用到后端一般经过网关层、应用层、存储层。 每一层都可以优化,本篇文章主要是应用层优化。 常见性能优化思路 从理论上分析,性能优化手段通常有 批量 请求数据库,我们一般会用in,提高数据库查询效率 调用外部服务,我们也需要要求依赖方提供批量接口,避免多次网络请求 批量查询的id数量也不宜过多 batch -> mServiceA.batchGetA(batch).stream()) .collect(Collectors.toList()); 并行/并发处理,利用多线程可以提高效率 比如接口中需要请求多个外部接口

    82830编辑于 2022-05-25
  • 来自专栏全栈程序员必看

    CentOS 7修改网络接口名称

    CentOS内网络接口名称最长只能有16个字符。若是名字超过16个字符,则超出部分会被截掉。 有时候,我们需要将网络接口更改一下,比如将ensxx改成eth0: 第1步:修改/etc/default/grub,在GRUB_CMDLINE_LINUX的末尾添加这么两个参数: net.ifnames # service network restart # nmcli con show 这时候,应该能看到网络接口的名称被更改为eth0。

    2K10发布于 2021-06-17
  • 来自专栏ai_houzi

    go语言基础7-接口

    typing 概念 像鸭子走路,像鸭子叫(长得像鸭子),那么就是鸭子 描述失误的外部行为而非结构 严格来说go属于结构化类型系统,类似duck typing go语言中的duck typing 同时实现多个接口 同时具有python,c++的duck typing的灵活性 具有Java的类型检查 接口 接口由使用者定义 接口的实现是隐式的 只要实现接口里的方法 接口变量 接口变量自带指针 接口变量同意采用值传递 ,几乎不需要使用接口的指针 指针接受者实现智能以指针方式使用,值接受者都可以

    35720发布于 2019-04-04
  • 来自专栏测试开发干货

    接口测试平台代码实现111:登录态接口-7

    好久不见,我们本节回归到主线,进行接口测试平台登陆态的研发工作。 不妨我们把所有的都看一下即可: 我们以此去修改,具体要怎么改,我们就把这个select当成这个接口调试层的一个普通字段即可,别的字段此时在干什么,它就干什么。

    32820编辑于 2022-05-19
  • 来自专栏ClearSeve

    Windows7 系统优化

    Diagostic policy server 检测网络 禁用 print Spooler 打印机 禁用 Superfetch 加速了固态硬盘的寿命损耗禁用, 机械键盘自动 Windows Defender 禁用 Windows Update 禁用 Windows Search 文件索引

    3.2K50编辑于 2022-02-11
  • 来自专栏设计模式

    用django写接口优化篇)

    入门:环境及项目搭建》 《django入门:数据模型》 《django入门:视图及模版》 《django入门:Admin管理系统及表单》 《django入门:通用视图类重构视图》 在《用django写接口 (入门篇)》提到这篇会讲 views 的代码优化,在这之前,我们先适当了解下 DRF 中的 Request 和 Response。 优化后的列表接口信息 我们继续做一些修改,在 post_list 函数中加入 format 参数,默认值设置为 None,接着我们对 url 也做一些修改,通过 format_suffix_patterns 对于 detail 接口的修改我们也可以根据对 list 的修改进行相应修改,不做多余解释。 update()`, `partial_update()`, `destroy()` and `list()` actions. """ pass 看到这是不是,觉得我们之前的优化都是一步接着一步来的

    2.5K20发布于 2020-12-15
  • 来自专栏移动端周边技术扩展

    接口优化与后续开发考虑

    { "errno":?, "error":"?", "data":{ "imgUrl":"?", "jumpUrl":"?", "audioUrl":"?" } } 与后端

    47120发布于 2018-06-13
  • 来自专栏雷子说测试开发

    接口用例规范与优化

    交易属于中台服务,给业务方提供交易、支付方面能力,后端部分接口测试较多,所以我们主要测试部分是针对中坚层的测试。接下来介绍一下接口测试用例规范与优化部分。 用例优化 用例分类:随着业务不断扩大,用例越来越多,订单、红包、活动等测试场景越来越多,导致测试用例的分类划分不是很明确。需要定义一个维度来划分测试用例,调整用例结构。 命名规范:随着测试用例接口不断完善,目前已被广泛运用,提出将用例平台化,针对这些情况我们需要提高代码可读性,减少使用接口用例的时间。需对包名、类名、方法名进行命名的优化。 errMsg); throw new ResponseCodeErrorException(JSONObject.toJSONString(respJson)); } } 构造数据优化 RD也可以使用测试用例,自测上线,随着不断优化,最终形成稳定成熟的测试用例。欢迎各位同学针对用例优化提出宝贵意见。

    77320发布于 2021-03-15
  • go使用消息队列优化接口

    为了提升用户的体验感、系统的稳定性,此时我们就可以使用消息队列对于接口进行优化,对于实时性要求不高的接口使用消息队列来进行处理,提高api响应速度,优化用户体验。 本文将以go语言使用rabbitMQ来演示如何对于一个接口进行优化。 postman再次调用一下我们优化完成的接口我们可以发现,现在调用接口仅需2ms!!! 结尾&完整代码示例虽然使用消息队列可以大幅度优化接口响应时间,但是我们还是需要根据具体业务需求、逻辑进行相对应的优化,以免变成了负面优化,写出了屎山代码。 如果各位想尝试一下接口优化,可以试试优化我的邮箱API接口,如果想知道我是如何进行邮件接口优化的,可以来学习或者参与进我的开源项目。愿这篇文章能帮助到你!!!

    28320编辑于 2024-07-22
  • 来自专栏LIN_ZONE

    接口优化一般过程

    接口优化流程: 注: 此流程是自己在工作中根据实际情况总结所得 如需转载请注明出处:https://www.cnblogs.com/zhuchenglin/p/15091163.html

    34130发布于 2021-08-05
  • 来自专栏haifeiWu与他朋友们的专栏

    使用 Go 优化我们的接口

    标题起的是有点大,不过还好本片文章主要也是使用 Go 来优化 HTTP 服务的,也算打个擦边球吧~ 背景 特征数据暴增,导致获取一个城市下所有的特征的接口延时高,下面是监控上看到的接口响应耗时,最慢的时候接口响应时间能达到 缓存优化方案 代码优化思路: 1,使用缓存 1.1为什么使用内存,而不是 Redis? 并发优化方案 使用 Goroutine 来优化我们的串行逻辑 Go语言最大的特色就是从语言层面支持并发(Goroutine),Goroutine是Go中最基本的执行单元。 优化后的代码相较于之前代码量少了 50% ,更加清晰与便于维护。下面是优化的代码上线后的效果,请求耗时都在100ms以下: ? 小结 上面整体介绍了下当我们的接口耗时较长的时候的一般处理方案,当然具体问题还得具体分析,所以当出现接口反应慢的情况的时候,我们应该具体分析接口反应慢的具体原因,方可对症下药!

    87840发布于 2020-02-10
领券