展开

关键词

10+倍性能提升全过程--优酷账号绑定淘宝账号的TPS从500到5400的优化历程

说明:这里的500 TPS到5400 TPS是指登录和将优酷账号和淘宝账号绑定的TPS,也是促销活动主要的瓶颈userservice服务络相的各种问题----太多SocketConnect异常(如上图 从新梳理一下络流程docker(bridge)----短连接--->访问淘宝API(淘宝open api只能短连接访问),性能差,cpu都花在si上;如果 docker(bridge)----长连接到宿主机的某个代理上 于是让PE修改了tcp相参数:降低 tcp_max_tw_buckets和开启tcp_tw_reuse,这个时候TPS能从1000提升到3000优化到3000 TPS后上线继续压测居然性能又回到了500 实际到这个时候也临近双11封了,最终通过计算(机器数量*单机TPS)完全可以抗住双11的压力,所以最终双11运行的版本就是这样的。 (比如异常、agent等) (优化后:4200->5400TPS)----整个过程得到了淘宝API、优酷会员、优酷Passport、络、蚂蚁等众多同学的帮助,本来是计划去上海跟Passport的同学一起复盘然后再写这篇文章的

46720

难以置信的性能优势,来自myddd-vert.x的性能测试报告

我把它在这里称之为XX的背景简述我们公司有一套类似企业微信的产品WorkPlus,事实上我们的产品早于企业微信及钉钉等互联产品,只是我们的知名度远不及上述公司。我们的产品主要是TO B。 但两者的API并不一致,项目X就是用来屏蔽两者API的差异,提供一套一致的API给小应用调用,以便开发一次,支持在不同的平台上运行。所以,它有点的概念。 惊鸿一瞥,性能测试大比拼X的项目的性能测试其实应该包括两个维度:•一个维度是对其本身数据读写,也就是数据库存储这一块做性能测试•另一个维度是对其的请求转发,类似性质的这个点做性能测试这周,我对这两个维度都做了性能测试 X性能数据 (基于Kotlin + Vert.x)*并发数:200000 (20万) * (以每秒发送2000个请求,不断循环的模式产生的总并发数)TPS秒:4931.1s平均响应时间:333ms成功率 注:为了真实有效的反馈X的性能,远程服务并未使用真实的企业微信或我们的产品等,而是MOCK了一个实现,在保障其性能足够高效的情况下以验证X项目的性能性能数据 (基于Kotlin + Vert.x

21830
  • 广告
    关闭

    腾讯云前端性能优化大赛

    首屏耗时优化比拼,赢千元大奖

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    API

    API Gateway? 更好的方式是采用API,实现一个API接管所有的入口流量,类似Nginx的作用,将所有用户的请求转发给后端的服务器,但做的不仅仅只是简单的转发,也会针对流量做一些扩展,比如鉴权、限流、权限、 通过引入API,客户端只需要与API交互,而不用与各个业务方的接口分别通讯,但多引入一个组件就多引入了一个潜在的故障点,因此要实现一个高性能、稳定的,也会涉及到很多点。? API注册业务方如何接入?一般来说有几种方式。 第一种采用插件扫描业务方的API,比如Spring MVC的注解,并结合Swagger的注解,从而实现参数校验、文档&&SDK生成等功能,扫描完成之后,需要上报到的存储服务。 手动录入。

    91240

    API

    API 可以看做是系统与外界联通的入口,我们可以在处理一些非业务逻辑的逻辑,比如权限验证,监控,缓存,请求路由等等。那为什么需要 API 呢? 统一鉴权对于鉴权操作,由于不涉及到业务逻辑,那么就可以在层进行处理,而不用下层到业务逻辑。统一监控由于是外部服务的入口,所以可以在这里监控想要的数据,比如入参出参,链路时间等等。 流量控制,熔断降级对于流量控制,熔断降级等非业务逻辑,可以统一放到层。

    30220

    日志框架,选择Logback Or Log4j2?

    意见三总结一下就是:logback性能测试同步和异步TPS相差不大都9102年了还在用logback看到友的意见后又继续去做了一波测试和调研服务器硬件CPU 六核内存 8G测试工具JMeterJProfileAPM logback同步和异步测试结果但是总觉得异步去写日志了,访问api的线程将更快响应客户端,TPS就应该有明显的变化才对。 想不通又去上查阅了一些资料,有反应说通过APM进行性能监控,同步和异步的TPS将会有较大的差别,TPS一定是会有明显变化的(呐喊),于是用APM去监控JMeter发送的请求(JMeter参数设置为线程数 APM-同步输出日志APM监控下,在执行的五分钟内同步输出日志TPS平均为333rpm 发现TPS同步和异步相比还是不明显又一次证明失败 虽然想不明白但后来和友探讨了下,醍醐灌顶? 而从测试结果来看,打印日志耗时只占API访问请求的5.3%,所以缩短打印日志耗时不能很明显的提高TPS,因为打印时间和络请求、业务处理消耗时间可以忽略不计 但是测试结果表明,虽然使用异步输出方式不能明显提高

    13630

    API Kong

    什么是 API ?所谓,主要作用就是连接两个不同络的设备,而今天所讲的 API 是指承接和分发客户端所有请求的层。?为什么需要层? 当服务拆分为多个之后,我们不得不面临一个问题,就是如何控制用户请求到对应服务节点,于是层应运而生,它不仅可以负责负载均衡,还可以让它处理认证校验、请求限流、日志记录以及监控服务节点等等。? 当然,层并不需要我们手动实现,市面上有很多 API 开源项目,比如 Zuul、Kong、Tyk 等,今天主要介绍 Kong。 中运行的 Lua 程序,由 lua-nginx-module 实现,和 Openresty 一起打包发行,支持多种操作环境下的安装,可以用来做 HTTP 基本认证、密钥认证、TCP、UDP、文件日志、API 第一步,创建一个 docker 络。

    45610

    API Kong

    Kong 简介Kong 是一款基于 OpenResty 的 API 平台,在客户端和(微)服务之间转发 API 通信。 下图是官给出的传统项目架构和使用 Kong 的架构:Next-Generation API Platform for Modern Architectures。 可以看到,使用 Kong 之后,内部服务开发者只需要 focus 具体业务的实现,层提供 API 分发、管理、维护等功能,开发者只需要简单的配置就可以把自己开发的服务发布出去,同时置于的保护之下 用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态。Kong 三大组件Kong Server :基于 nginx 的服务器,用来接收 API 请求。 Kong$ curl -i http:localhost:8001更详细的内容可以查看 5 分钟快速开始kong-dashboardKong dashboard 是一个基于 node 实现的管理 Kong 设置的

    8530

    初识API API Gateway

    API是什么---------------------------------------------------在日常工作中,不同的场合下,我们可能听说过很多次这个名称,这里说的特指API API Gataway)。 字面意思是指将所有API的调用统一接入API层,由层负责接入和输出。那么在什么情况下需要一个API呢? API涵盖的基本功能--------------------------------------------------------------一个API的基本功能包含了统一接入、协议适配、流量管理与容错 ----------------------文章中,我们从单体系统到微服务系统演变,引入了API的概念,紧接着介绍了API Gateway的基本功能,以及展示一个线上生产的架构示意图。

    1.5K11

    「性能测试实战30讲」之问题问答整理五

    首先我们从数据视角来理解,可以把服务端程序用一个模型来看待,即由「API 请求」所驱动的。服务端的领域特征是大规模的用户请求,以及 24 小时不间断的服务。 最后,还是需要回到第一个问题,即由「API 请求」所驱动的模型上来。作者回复: 不仅深得真传,还扩展了。我看好你哦。问题一,如何理解“服务端的并发能力”这一描述。 对于web项目而言,服务端是整个项目的键,是咽喉要道,因此也是性能测试的重点。 虽然老师一直强调压力机并发线程数不是键,但是公式表明其与TPS、响应时间有着不可分割的联系,还需要好好体会并运用。很期待基准测试以及如何判断响应时间、TPS合理的后续讲解。 压力大,响应时间长了,tps下降了,那服务端的处理能力明显是下降了嘛。不是用TPS来定义并发用户线程数,这两者的系,只有在执行过程中确定,没有谁定义谁。

    44720

    什么是apiapi功能是什么

    那你知道api功能是什么吗? 一.什么是api我们在搭建站的时候,可能都会提到这个词,这里的大部分指的就是API是负责接入和输出的键,因为现在我们的站当中有太多的功能和组件,我们要将各个模块连接在一起,就需要用到来进行区分 通过api解决各种服务的调用,接入的问题。但是API的功能却远不止于此。 二.api功能是什么Api最基础的功能就是能够给各个系统提供一个服务,进入入口,在使用统一的协议,这样我们在后期使用这些系统的时候,就无需再转换协议,也就完全解决了协议的差异性的问题。 除此之外呢,API还能够保护好我们的后端服务功能,因为他在调用和接入的时候会有限流降级等多种方式来保护稳定性,所以说它是有一定的安全防护能力的。

    7820

    api配置

    api配置 2019年6月19日 ⋅ 浏览量: 8    什么是api通常WEB API是系统的唯一入口,它封装了系统内部架构,为客户端统一提供服务。 相的服务kong : https:docs.konghq.comorange: http:orange.sumory.com 参考:http:attacker.clubdetail97.htmlnginxusrlocalnginxconfvhostsapi.confupstream proxy_add_x_forwarded_for; proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; }}基于阿里云api 例图准备 1. API - 开发API -创建分组 2. 点击分组名 - cname此项目的二级域名 - 绑定域名;使用https可更新SSL证书创建API API管理 - 创建API???

    45940

    谈谈 API

    由于以上问题,客户端与微服务直接通信很少是合理的,更好的方法是使用 API ,由 API 作为后端服务系统的唯一入口。它封装了系统内部架构,为每个客户端提供一个定制的 API 。 有的 API 还有其它职责,如身份验证、监控、负载均衡、缓存等。----整体架构完备的服务应该包括三大部分:API 控制台、度量数据采集分析。 API服务整体架构API 的优缺点1. 优点封装了应用程序的内部结构。客户端只需要同交互,而不必调用特定的服务。 还有一个风险是 API 变成了开发瓶颈。为了暴露每个微服务,开发人员必须更新 API API 的更新过程要尽可能地简单,否则为了更新,开发人员将不得不排队等待。 zuul 就是用作 API 的3)Mashape 的开源 API Kong7.控制台提供 domain 管理、应用管理、服务授权、服务监控、统计和度量数据展示、查看服务全局视图等功能。

    75940

    API作用

    今天我们一起来看看 API 的设计思路,需要承载了哪些功能?以及如何选择流行的 API ?什么是 API 既然需要 API 为我所用,首先就让我们来了解一下什么是 API 。 什么是 API 一词最早出现在络设备,比如两个相互独立的局域之间通过路由器进行通信,中间的路由被称之为。 image.png 对接客户端和服务端的 API 知道了 API 的基本定义,再来看看为什么我们要使用它。 为何要使用 API 作为系统的唯一入口,也就是说,进入系统的所有请求都需要经过 API API 架构 既然谈了 API 的功能和定位,接下来说说它的架构: image.png imageAPI 系统架构图API 拆分成为 3 个系统:Gateway-Core(核心)Gateway-Admin

    11350

    做「容量预估」可没有true和false

    随着20年来互联的蓬勃发展,一个软件系统所要面对的访问压力上限被逐渐提高。虽然如此,但是那些体量达到亿级或者是千万级的产品也只是少数公司的专属。 如磁盘IO、络IO,CPU的多线程切换等等。 进程运行的开销。如代码逻辑啊、锁啊等等。 多个进程之间的通信开销。 先在系统中的每个api接口做好数据采集,目的是为了后续能获得两个数据,响应时间和次数等等。 然后借助一些压测工具,比如loadrunner之类,对当前的业务场景做一轮的全链路压测。 这样,在压测结束后,你就可以将loadrunner中所记录的发起请求的数量,对比api接口采集到的数据,就能得到每个接口与业务流量之间的系。 真实的生产环境是错综复杂的,因为一个api接口往往会被众多地方调用。 那么做校准就是为了让我们的预估更接近真实的生产环境一些。 如果有过去成功支撑的案例数据就最好了。

    37640

    Prometheus入门实践 顶

    当前互联上已经有很多成熟的exporter组件,当然用户也可用根据官方提供的sdk自行编写exporter.开箱即用的exporter官方的sdkredis-exporter注意:prometheus Prometheus-server: 负责数据采集和存储(TSDB),提供PromQL查询语言的支持2.Alertmanager: 警告管理器,用来进行报警3.Push Gateway: 支持临时性Job主动推送指标的中间 3.Prometheus通过PromQL和其他API可视化地展示收集的数据. 八、后续优化注意: 此时使用prometheus可以监控到基础服务的资源使用情况,并且也可用借用alertmanager服务对相报警规则进行检测和报警,那么需要如何把相报警及时的通知到相负责人呢。 我们可以很好的借助这个web-hook来对相的报警发送。

    67130

    微服务与API (上): 为什么需要API

    本系列共有两个部分,主要注我们如何以及为什么要在我们的微服务应用中部署API 。第二部分主要注我们如何把Mashape的开源组件Kong运用到我们自己的微服务架构当中。 目录0:00 微服务与(Microservices & API Gateways)大家好,我叫Macro,今天我们谈论有微服务和的话题。 11:54 API模式(API Gateway Pattern)API 模式意味着你要把API 放到你的微服务们的最前端,并且要让API 变成由应用所发起的每个请求的入口。 有一个很nice的事情,就是API让我们的客户端不用再需要知道和心模块的地址(address)了。负责来搞这些事情,你只需要知道就好了。你可以去改变实现而且还可以改变API接口。 API将随着时间的推移实现和消费后端的上游service,同时保持客户端的正常工作。拥有一个API可以帮助我们实现这样的过渡。

    1.6K70

    2、使用 API

    2.3、使用 API 通常更好的方法是使用 API API 是一个服务器,是系统的单入口点。它类似于面向对象设计模式中的门面(Facade)模式。 API 负责请求路由、组合和协议转换。所有的客户端请求首先要通过 API ,之后请求被路由到适当的服务。API 通常会通过调用多个微服务和聚合结果来处理一个请求。 API 通过调用各种服务(产品信息、推荐、评价等)并组合结果。一个很好的 API 案例是 Netflix API 。 如今,他们使用了 API ,通过运行特定设备适配代码来为每个设备提供一个定制 API。2.4、API 的优点与缺点正如您所料,使用 API 同样存在好处与坏处。 重要的是更新 API 的过程应尽可能地放缓一些。否则,开发人员将被迫排队等待更新。尽管 API 存在这些缺点,但对于大多数的真实应用来说,使用 API 是合理的。

    63941

    API 的安全

    摘要: 本篇文章是总结工作中遇到的安全问题 正文:API 的安全XSRFCSRF跨站请求伪造(Cross-site request forgery)是一种挟制用户在当前已登录的web程序上执行非本意的操作的攻击方法 account=AccoutName&amount=1000&for=PayeeName藏身于恶意站的某代码片段:若账户人员为Alice的用户访问了恶意站,其登录信息尚未过期,就会丢失1000资金CSRF 攻击并不是直接获取用户账户控制权,而是欺骗用户浏览器,让其已用户的名义执行操作防御措施HTTP头Referer字段,这个字段用以标明请求来源于哪个地址,看其url是否与要请求地址位于同一域名下添加校验Token,恶意站的请求不带 Token无法通过校验XSS跨站脚本(Cross-site scripting)是一种站应用程序的安全漏洞攻击,是代码注入的一种。 但是服务端既然无状态,Token在客户端存储位置就是一个问题存放位置存在Cookie,要使用Http-Only 保护cookie 存在Local Storage 无法防止XSS LocalStorage 的API

    77650

    API kong 实战

    如果让每一个后台系统都实现鉴权、限流、负载均衡、审计等基础功能是不合适的,通用的做法是把这些功能抽离出来放到层。Kong是目前最流行的平台。 概念介绍kong的API使用Restful风格,每个对象都是一个Object,其中最重要的两个对象是:Service 代表一个后台服务Route 是一条规则,告诉kong怎么把收到的请求发送到某个特定的后台服务 :8444 默认绑定 127.0.0.1当然我们可以把Admin API作为一个服务通过kong的暴露出去,请参考 (https:docs.konghq.com1.1.xsecure-admin-api api转发到 nodedemo 的 api,也就是访问地址http:127.0.0.1api的时候,把对应的请求转发到nodedemo 的http:127.0.0.1:8080api4.2 添加service 4.3 测试可以看到这个请求已经转发给nodedemo,并且自动添加了几个headres# curl http:127.0.0.1apidemoheaders?

    1.9K20

    腾讯云 Serverless 保障《创造营》硬糖少女 C 位出道

    另一方面,灵活的全局限流以及服务降级功能,也是客户选择 API 的原因。? API 创建的 API 如下图所示:? 云 API 当前针对于这两种场景的限流场景均有限流策略,前者在 API 叫限流,可以从 API 维度、API 组维度以及用户维度(需要配合鉴权)对请求进行 QPS 限流;后者对应云 API 配额概念 配置方法该如何使用云 API 配置限流呢? 本文中的 API 就是承载着 Serverless 应用的 HTTP 服务接入层。

    3.1K2019

    相关产品

    • 存储网关

      存储网关

      存储网关(CSG)是一种混合云存储方案,旨在帮助企业或个人实现本地存储与公有云存储的无缝衔接。您无需关心多协议本地存储设备与云存储的兼容性,只需要在本地安装云存储网关即可实现混合云部署,并拥有媲美本地性能的海量云端存储。

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭

      扫码关注云+社区

      领取腾讯云代金券