生产环境全链路压测平台 Takin】的更多相关文章

什么是Takin? Takin是基于Java的开源系统,可以在无业务代码侵入的情况下,嵌入到各个应用程序节点,实现生产环境的全链路性能测试,适用于复杂的微服务架构系统. Takin核心原理图 Takin有什么特点? Takin具备以下4个特点: (1)业务代码0侵入:在接入.采集和实现逻辑控制时,不需要修改任何业务代码:(2)链路治理:能够帮助业务和微服务架构分析业务链路,以技术方式获得功能视角的链路信息:(3)性能瓶颈定位:性能测试结果可以直接展现整个链路中存在性能瓶颈的微服务架构节点:(4)…
6 月 25 日,国内知名的系统高可用专家数列科技宣布开源旗下核心产品能力,对外开放生产全链路压测平台产品的源代码,并正式命名为 Takin. 目前中国人寿.顺丰科技.希音.中通快递.中国移动.永辉超市.爱库存.浙江大学等 50+行业头部公司都采用了该技术,10 万+探针同时线上运行,每天实时处理数百亿条用户请求,生成数百 TB 链路数据.该项目已在 Github 上发布,作为全球首款开源的全链路压测平台,Takin 的开源将为更多企业提供超低门槛.超低成本.超高效率的性能保障能力. 什么是生产…
背景 在美团的价值观中,以“客户为中心”被放在一个非常重要的位置,所以我们对服务出现故障越来越不能容忍.特别是目前公司业务正在高速增长阶段,每一次故障对公司来说都是一笔非常不小的损失.而整个IT基础设施非常复杂,包括网络.服务器.操作系统以及应用层面都可能出现问题.在这种背景下,我们必须对服务进行一次全方位的“体检”,从而来保障美团多个业务服务的稳定性,提供优质的用户服务体验.真正通过以下技术手段,来帮助大家吃的更好,生活更好: 验证峰值流量下服务的稳定性和伸缩性. 验证新上线功能的稳定性. 进…
导读 2018年十一当天,高德DAU突破一个亿,不断增长的日活带来喜悦的同时,也给支撑高德业务的技术人带来了挑战.如何保障系统的稳定性,如何保证系统能持续的为用户提供可靠的服务?是所有高德技术人面临的问题,也是需要大家一起解决的问题. 高德业务规模 支撑一亿DAU的高德服务是什么体量?可能每个人的答案都不相同,这里从基础设施的角度给大家做个简单的介绍,我们有数千个线上应用,分别部署在全国各地多个机房中的数万台机器上. 这张图是高德业务核心链路的架构,从图中可以看出高德业务具有相当高的复杂性.当然…
原文:连接: https://tech.meituan.com/2018/09/27/quake-introduction.html 开源分布式监控Cat: https://github.com/dianping/cat…
自Takin社区版1.0发布两个多月以来,有很多测试同学陆续在各自的工作中运用了起来,其中包括金融.电商.物流.出行服务等行业.这个过程中我们收到了很多同学的反馈建议,同时也了解到很多同学在落地全链路压测过程中遇到了很多难点,比如: 链路调用关系复杂,梳理耗时容易遗漏: 安装部署比较麻烦,需要配置很多信息: 生产全链路压测风险较高,能否在测试环境落地? -- 上述问题都是全链路压测落地过程中不可避免的挑战,经过我们产品和研发小哥哥的不懈努力后,全新的Takin2.0终于来啦!这一次,我们的目标是…
摘要:全链路压测是应对电商大促容量规划最有效的手段,如何有效进行容量规划是其中的架构关键问题.京东在全链路压测方面做过多年尝试,本文转载京东商城基础平台技术专家文章,介绍其最新的自动化压测 ForceBot 体系. ForceBot愿景 1.诞生背景 伴随着京东业务的不断扩张,研发体系的系统也随之增加,各核心系统环环相扣,尤其是强依赖系统,上下游关系等紧密结合,其中一个系统出现瓶颈问题,会影响整个系统链路的处理性能,直接影响用户购物体验. 往年的 618.双 11 大促备战至少提前 3 个月时间…
本文转载自:微信公众号-数列科技<二十问全链路压测干货汇总(上)> 最近几年全链路压测无疑成为了一个热门话题,在各个技术峰会上都可以看到它的身影. 一些大型的互联网公司,比如阿里巴巴.京东.滴滴等,都已将全链路压测应用到了生产环境. 笔者曾有幸深度参与到阿里巴巴全链路压测体系的建设,以及与阿里内部其他技术团队.物流.社交电商.品牌企业等CTO或者CIO技术交流之后, 关于如何保障企业数字化过程中的性能稳定方面,有了一个共识:全链路压测是建立IT性能管理体系的抓手和必选项. 1.什么样的公司需要…
京东金融移动端全链路压测历时三个月,测试和服务端同学经过无数日日夜夜,通宵达旦,终于完成了移动端链路的测试任务.整个测试有部分涉及到公司敏感数据,本文只对策略部分进行论述. 1.系统架构与策略 在聊性能测试之前,简单的对金融系统架构进行简单的梳理.京东金融App架构较为复杂,为了说明问题对架构进行简化和抽象. 金融App客户端主要是通过原生主框架和运营平台(乐高)配置搭建组成App客户端:主框架和运营平台(乐高)通过调用网关接口连接各个业务系统.实现整个业务正常运转.金融App移动端618专项测…
压测平台是什么? 压测,即压力测试,作用是对各种服务对象进行压力测试以获得该服务处于或超过预期负载时系统的运行情况,进而判断系统在峰值负载或超出最大负载情况下的处理能力. 压测工具,顾名思义,就是用来进行压力测试的工具,常用的有ab.jmeter.LoadRunner和wrk等等. 而由于在整个压测过程中存在以下问题: 时间成本:每次测试都需要重新搭建一套生产环境,成本太高,且几乎每个环节都需要人力支撑 数据成本:脚本.测试数据.压测机器.测试报告无法沉淀 风险成本:测试用例多,生产压测缺乏平台…
9月11日,在腾讯全球数字生态大会大数据专场上,腾讯云大数据产品副总经理雷小平重磅发布了全链路数据开发平台WeData,同时发布和升级了流计算服务.云数据仓库.ES.企业画像等6款核心产品,进一步优化和提升了腾讯云大数据的全托管能力,助力企业从基础设施层.场景开发层以及行业应用层快速构建一站式大数据平台能力. 「 借助WeData,企业数据开发门槛降低60%」 雷小平表示:"构建大数据开发平台是企业数字化转型的关键步骤,然而从数据集成到开发调度等涉及的模块众多,导致整个平台的维护和升级成本非常高…
源码路径:https://github.com/akopytov/sysbench 版本linux 6.8sysbench 0.5mysql 5.6.29 1.安装pip略 2.pip 安装bzr pip install bzr 3.下载sysbench cd /tmp bzr branch lp:sysbench 4.安装依赖,否则报错 yum -y install m4 autoconf automake libtool 例如:libtoolize 1.4+ wasn't found, ex…
下载地址:https://sourceforge.net/projects/ngrinder/files/ ngrinder工作原理:这里的controller就是ngrinder平台 部署(以windows为例): 把下载下来的ngrinder-controller.war重命名为ngrinder.war放到tomcat下面,启动tomcat 启动完浏览器访问:http://localhost:8080/ngrinder 默认用户名admin,密码admin,选择中文 登录成功后下载agent…
在每年的双十一大促之前,除了全链路压测,还需要各个业务方对自己业务提供的核心接口进行单接口压测,以评判系统的稳定性和承压能力. 一.准备工作 环境准备:确保应用性能环境(perf)正常可用 压测接口梳理:通过 ops平台 - 应用 - 监控模块 [示例] 获取频繁访问的接口,确定需要压测的接口列表 测试数据准备:根据接口请求的参数列表,从qa库中捞取需要的测试数据,导出到csv备用 二.压测脚本编写(jmeter版本3.2) A: Nova或Dubbo接口 这类接口的压测需要借助jmeter的高…
本文是<如何做好性能压测>系列专题分享的第四期,该专题将从性能压测的设计.实现.执行.监控.问题定位和分析.应用场景等多个纬度对性能压测的全过程进行拆解,以帮助大家构建完整的性能压测的理论体系,并提供有例可依的实战. 该系列专题分享由阿里巴巴 PTS 团队出品,欢迎在文末处加入性能压测交流群,参与该系列的线上分享. 第一期:<压测环境的设计和搭建>,点击这里.第二期:<性能压测工具选型对比>,点击这里.第三期:<阿里巴巴在开源压测工具 JMeter 上的实践和优化…
之前的博客:jemter(二十三):分布式测试简略的介绍了利用jmeter做分布式测试的方法,当时只是介绍了背景和原因,以及基本的配置操作,有同学说写得不够详细. 正好今年双十一,我司的全链路压测,也尝试了jmeter分布式压测的手段.这篇博客,介绍下利用jmeter在NGUI模式下进行分布式压测的一些小技巧和注意事项. 一.压测机 1.数量&成本 无论是从成本角度还是维护的难易方面,压测机的数量,适量就好. 举个例子,8C16G的一台服务器,部署jmeter后,根据我个人的测试比对数据,配置≤…
作者 | 代序 阿里云云原生技术团队 本文整理自<Serverless 技术公开课>,"Serverless"公众号后台回复"入门",即可获取系列文章 PPT. 导读:本次课程介绍在 SAE 场景下,如何借助压测工具与 SAE 弹性能力来应对大促的实践.主要包含 3 部分要点:传统大促面临的挑战.SAE 大促方案以及快速压测验证. 传统大促挑战 一次常见的大促活动,技术人员通常会从下面几个方面着手,进行准备工作: 架构梳理:对参与大促的服务,进行系统性的…
1. 背景 最近QA对线上单模块进行压测(非全链路压测),http客户端 与 thrift服务端的tcp链接总在一段时间被close. 查看服务端日志显示 i/o timeout. 最后的结果是: qps太小, 长时间不发送请求, server主动关闭socket 2. 查看thrift框架原代码 thrift框架处理请求伪代码如下: //服务端listen for { // 服务端接收一个tcp连接请求 client := server.accept() // 独立启动一个goroutine处…
Jexus 是一款运行于 Linux 平台,以支持  ASP.NET.PHP 为特色的集高安全性和高性能为一体的 WEB 服务器和反向代理服务器.最新版 5.8.2 已经发布,有如下更新: 1,现在大部分网站已经部署HTTPS,大家对于安全越来越重视,顺应潮流新增HTTPS多证书支持,每个网站都可以配置自己独立的SSL证书,现在有2种方式支持网站部署HTTPS. A.添加全服务器使用的SSL配置:如果需要,可以添加一个ssl配置为所有没有单独配置ssl的网站提供共享,这个配置,对支持泛域名的证书…
Jeuxs 5.8.2beta1于7月10日正式发布. 有如下更新: 1,为FastCGI提供KEEP_CONN支持,优化FastCGI工作线程池调度算法: 2,完善反向代理的负载均衡策略,支持“随机”“客户端IP地址”“Http关键字”等多种策略: 3,为AppHost.Port功能提供多端口支持,向目标应用程序提供客户IP地址信息: 4,完善WebSockets的Close方法: 5,针对Asp.Net Core应用程序,新增“AppHost”配置项,为Http应用程序提供统一的.站点化的.…
从压力测试说起 压力测试是确立系统稳定性的一种测试方法,通常在系统正常运作范围之外进行,以考察其功能极限和隐患.与功能测试不同,压测是以软件响应速度为测试目标的,尤其是针对在较短时间内大量并发用户的访问时,软件的抗压能力. 至于为什么产品或业务系统在通过功能测试后还需要进行压力测试,原因很简单,因为它重要,为什么重要?众所周知,响应速度是用户体验的核心指标之一. SmartBear 数据表明,如果 Amazon 的加载时间延长1秒,那么一年就会减少16亿美元的营收.用户与网站互动的过程中,如果加…
Jexus 是一款运行于 Linux 平台,以支持  ASP.NET.PHP 为特色的集高安全性和高性能为一体的 WEB 服务器和反向代理服务器.最新版 5.8.2 已经发布,有如下更新: 1,现在大部分网站已经部署HTTPS,大家对于安全越来越重视,顺应潮流新增HTTPS多证书支持,每个网站都可以配置自己独立的SSL证书,现在有2种方式支持网站部署HTTPS. A.添加全服务器使用的SSL配置:如果需要,可以添加一个ssl配置为所有没有单独配置ssl的网站提供共享,这个配置,对支持泛域名的证书…
JMeter自身带有Master-Slave压测框架,对于并发量不是很高的压力情况下(比如tps低于5000),该方案是可行的,并且使用起来非常方便,只要在配置文件或者命令行工具的参数做一些补充,即可以实现分布式压测,具体请参见JMeter官网操作步骤或者UncleYong的文章 但JMeter的Master-Slave有诸多的缺陷: 1.Master机器的瓶颈,JMeter通过RMI的方式来实现Master-Slave的通信,所有的信息最终都会汇总到主机上,一旦slave机器数量增多,并且sl…
性能测试PTS(Performance Testing Service)是面向所有技术相关背景人员的云化性能测试工具,孵化自阿里内部平台.有别于传统工具的繁复,PTS以互联网化的交互,面向分布式和云化的设计,更适合当前的主流技术架构.无论是自研还是适配开源的功能,PTS都可以轻松模拟大量用户访问业务的场景,任务随时发起,免去搭建和维护成本.更是紧密结合监控类产品提供一站式监控.定位等附加价值,高效检验和管理业务性能. 脚本工具:Apache JMeter 压测平台: PTS 测试目的 供应链客户…
1,CentOS 7.5 安装 Python3.7 1.安装开发者工具 yum -y groupinstall "Development Tools"2.安装Python编译依赖包 yum -y install openssl-devel zlib-devel bzip2-devel sqlite-devel readline-devel libffi-devel systemtap-sdt-devel3.下载安装包 wget https://www.python.org/ftp/py…
想要模拟高并发用户访问的场景,用Jmeter5实现的话,单靠一台PC机,资源是不够的,包括单机的内存.使用端口数量等,所以最好是通过多台PC机组成几个集群来对服务器进行压测. 本文目录: 1.软硬件配置 2.配置系统环境变量 3.修改JMeter配置,开启代理机(Agent)功能 4.搭建控制机(Controller)环境 5.开启压测 1.软硬件配置 本文环境(控制机.代理机都一样): – Win7 64位 – JDK8 – 内存 8G Apache JMeter5.0 下载地址 JDK8 下…
本次测试是在win7下docker环境中进行压测,共创建一个nginx容器.一个php-fpm容器和一个swoole容器,客户端请求nginx服务器,nginx接收用户访问请求并转发给php-fpm,php-fpm接收数据并发送数据给swoole服务器 软硬件: OS :boot2docker Linux cpu: i5-6500 单核 内存:1G PHP Vsersion:7.2.9 swoole:4.1.2 nginx:1.12 均使用docker环境下进行ab压测并发100,1万次请求,结…
本文记录在jimdb压测过程中遇到的各种小坑,望能够抛砖引玉. 1.压测流量起来后,过了5分钟左右,发现ops突降,大概降了三分之一,然后稳定了下来 大概原因:此种情况,jimdb极有可能某个分片的连接数打满,从而导致分片的cpu达到100%. 调优方案:首先,默认分片连接数为1w,此时可以根据自己的需求,如果自己的docker数量很少,可以调整成2w,反之则3w. 然后,看程序中的操作,是不是有pipeline或者mget等操作,如果有,且程序日志中输出了大量的can't get jedis…
前言 旨在分享工作中遇到的各种问题及解决思路与方案,与大家一起学习. -- 学无止境, 加油 ! Just do it ! 问题描述 运行环境描述 tomcat-8.5 单节点(该应用集群20个节点) avg-tps 250,max-tps 350 tomcat max-threads:200 (下图蓝色线) tomcat busy-threads 正常(下图绿色线) tomcat cur-threads飞升(下图黄色线) 每次黄色线上升时可以发现原本平均响应时间100ms内的接口响应时间均在3…
目录 堪比JMeter的.Net压测工具 - Crank 入门篇 堪比JMeter的.Net压测工具 - Crank 进阶篇 - 认识yml 堪比JMeter的.Net压测工具 - Crank 进阶篇 - 认识bombardier 堪比JMeter的.Net压测工具 - Crank 进阶篇 - 认识wrk.wrk2 堪比JMeter的.Net压测工具 - Crank 实战篇 - 接口以及场景压测 堪比JMeter的.Net压测工具 - Crank 实战篇 - 收集诊断跟踪信息与如何分析瓶颈 堪比…