我的专栏地址:我的segmentfault,欢迎浏览


一、背景

调用top接口的响应时间长(160ms左右),超时和连接异常频繁发生。导致消息组件消费工程的tps遇到瓶颈(单实例单消息队列250tps),只能通过增加实例数来支撑更高的消费能力。

二、目标

1、最大程度降低top接口的响应时间。
2、减少超时和连接异常的次数。

三、优化过程

阶段一

按top接口文档接入,以jws的AsyncHttp类作为http客户端。
接口文档:http://open.taobao.com/docs/doc.htm?spm=a219a.7629140.0.0.iGIk9k&docType=1&articleId=101617&treeId=1

使用的top网关地址:https://eco.taobao.com/router/rest

测试结果:

关键词 Connection:close 说明服务端主动关闭了连接,连接无法复用。

阶段二

向top网关的接口人询问网关是否主动连接复用,反馈:http1.1都会主动关闭连接。

测试网关地址:

使用http2测试结果,同样会主动关闭连接,并没有支持http2。

再次向top网关接口人询问为什么会主动关闭连接,工作人员回复: 提供一个新的top网关地址

再次测试网关地址:

连接可复用。

切换新地址再次测试top:

阶段三

发布生产环境验证:
1、push消息响应时间由160ms --> 60ms。
2、超时告警减少。

四、后续

4.1、将优化的方式实现到其他接口

发布生产环境验证:
1、接口一响应时间由153ms --> 47ms。
2、接口一响应时间由147ms --> 45ms。
3、超时告警减少。

4.2、以http2方式接入,效果会更好。

淘宝top平台调用接口响应时间优化相关推荐

  1. python下调用淘宝top接口例子

    这两天用需要测试淘宝top的接口,由于之前都用java下做的.现在要转到python了,所以重新写了一个. 考虑到很多朋友可能也会使用python来调用top的接口,可能会遇到诸如签名的潜规则.为此将 ...

  2. 淘宝API学习之道:淘宝TOP之API接口接入教程

    作为一个中小型站点开发人员,淘宝API的开放大大缩短了站点的开发周期和运作效率.面对海量的数据.开发人员仅仅要细致阅读开发文档,熟悉对应的接口,就能够把数据导入自己的站点,这样就不必望洋兴叹了. 眼下 ...

  3. 淘宝TOP程序API接口接入教程--入门篇

    作为一个中小型网站开发者,淘宝API的开放大大缩短了网站的开发周期和运作效率,面对海量的数据,开发者只要仔细阅读开发文档,熟悉相应的接口,就可以把数据导入自己的网站,这样就不必望洋兴叹了. 目前淘宝T ...

  4. 淘宝top sdk java源码中的问题

    最近做一个项目,需要对接拼多多的api接口,其本身没有提供sdk,但是发现api设计与淘宝top结构非常类似,之前由于对接过淘宝的top,对淘宝top sdk的结构比较了解,且淘宝sdk整体比较清晰, ...

  5. 淘宝 TOP 平台Open API入门篇

    淘宝 TOP 平台Open API入门篇 [未经本人许可 严禁转载] 前不久刚写了一篇关于淘宝Open API的入门教程,具体见http://blog.csdn.net/hereweare2009/a ...

  6. 淘宝商品详情接口(商品详情页面数据接口)

    目前封装好淘宝商品详情接口(商品详情页面数据接口),可以用于数据搬家,一站复制商品数据,数据分析业务,商品数据监控业务,商品上传业务,商城建设等.可以支持多线程高并发请求调用,希望能够下面的接口代码对 ...

  7. 按分类搜索淘宝直播接口API,淘宝直播API接口

    一.按分类搜索淘宝直播接口API,淘宝直播API接口代码对接分享 1.公共参数: 名称 类型 必须 描述 key String 是 调用key(必须以GET方式拼接在URL中) secret Stri ...

  8. 淘宝商品销量接口/淘宝商品销量监控接口/商品累计销量接口代码对接分享

    一.淘宝商品销量接口/淘宝商品销量监控接口/商品累计销量接口参数如下: 点击获取key和secret 1.请求参数: 请求参数:num_iid=520813250866&is_promotio ...

  9. 淘宝商品销量接口/淘宝商品销量监控接口/商品累计销量接口

    一.淘宝商品销量接口/淘宝商品销量监控接口/商品累计销量接口参数如下: ​ ​点击获取key和secret​ 1.请求参数: 请求参数:num_iid=520813250866&is_prom ...

最新文章

  1. 【datawhale 】打卡 task 01--深度学习
  2. 内中断---汇编学习笔记
  3. python3源码剖析_T-SNE源码剖析(python版)
  4. 腾讯企业邮箱报错 smtp.exmail.qq.comport 465, isSSL false
  5. 这种动作片还需要汽车特效?
  6. getline()函数
  7. [原创]web application中使用Profile应该注意的问题
  8. 红橙Darren视频笔记 IOC注解框架 自己写个注解框架
  9. C#多线程之线程池篇1
  10. unity导出fbx_使用Blender和Unity创建一个简单Low Poly的模型(一)
  11. 拓端tecdat|用于NLP的Python:使用Keras的多标签文本LSTM神经网络分类
  12. Luogu1091 合唱队形
  13. 统计检测(statistical tests)
  14. 计算机硬件系统由 组成,计算机硬件系统由哪几部分组成?
  15. 网络工程师提高篇 | 路由重发布你了解多少?从原理到配置,瑞哥带你学习一波!
  16. 条件概率、全概率、先验概率、后验概率、类条件概率
  17. java%3c%3e符号,有趣的 JavaScript 格式转换
  18. 资料 | 美图区域链白皮书(附PDF链接)
  19. 微型计算机的发展经历了哪几个,计算机的小故事有哪些_计算机发展史小故事...
  20. spring整合jdbc配置文件

热门文章

  1. yii3正式版什么时候发布_华为mate50pro什么时候发布
  2. 插值算法及matlab实现,MATLAB 插值算法实现
  3. mysql数据库整体备份和恢复_MySQL 数据库的备份和恢复
  4. 判断按键值_ALIENTEK 阿波罗 STM32F767 开发板资料连载第七章 按键输入实验
  5. tcp 三次握手与四次挥手_TCP三次握手与四次挥手详解
  6. Julia语言:让高性能科学计算人人可用
  7. R-CNN , Fast R-CNN , Faster R-CNN原理及区别
  8. 689D Magic Odd Square 奇数幻方
  9. 20145122《Java面向对象程序设计》实验二实验报告
  10. PHP-CGI, FastCGI, PHP-FPM的关系和区别