sdcuike / issueBlog

IT网站收藏
https://github.com/sdcuike/issueBlog/issues
Apache License 2.0
88 stars 29 forks source link

故障演练-流量录制 #146

Open sdcuike opened 4 years ago

sdcuike commented 4 years ago

工具

配合流量录制


美团点评酒店后台故障演练系统 故障演练概述 如何做好一次故障演练?

压测

新浪微博百万用户分布式压测实践手记

【为什么是Tsung?】 Tsung是一个有着超过15年历史积累的性能压测工具,本身受益于Erlang天生支持并发和分布式以及实时性的特性,其进程的创建和运行非常廉价,一台机器上轻轻松松创建上百万个进程。其提供一个用户对应一个进程的隔离处理机制,单机支持虚拟用户的用户数量可支持若十万、百万级别,只要机器资源充足(但总体来讲受制于受制于网络、内存等资源,后面会具体解释)。单机计算能力总是有限的,Tsung的目的就是要把多台服务器横向扩展成分布式集群,从而可以对外提供一致的海量性能压力测试服务。

有赞全链路压测引擎的设计与实现

我们最终选择基于 Gatling 做二次开发

Maxim 在 Gatling 基础上开发了很多新特性:

支持分布式 一个控制中心(Control Center,负责调度) + 多个压力注入器(指施压机)

提供 GUI,并对用户隐藏压测过程的复杂性 高效地创建、运行(手动/定期)测试任务

管理测试资源 测试资源包括压测脚本、数据集(为压测请求提供测试数据,由数据块构成的一个集合,数据块是大> 量测试数据的最小分割单元)、压力注入器

支持压测脚本参数化 Maxim 中并发用户数、RPS、持续时间等都可以通过 GUI 动态注入压测脚本

支持压力注入器系统状态监控 实时监控压力注入器的 CPU、内存、I/O 等指标

自动生成压测报告,保留历史压测报告 采集多个压力注入器的压测日志,自动汇总生成压测报告,并保留历史压测报告

image

https://gatling.io

https://github.com/asura-pro/pea

https://github.com/locustio/locust

https://github.com/shulieTech/Takin

系统稳定性保障核武器——全链路压测

nGrinder详细介绍及性能工具对比

http://jm.taobao.org/2019/04/01/好玩又实用,阿里巴巴开源混沌工程工具-ChaosBlade/

https://github.com/chaosblade-io/chaosblade