性能工程的储备知识
压测需要很多的储备知识,例如:
- 基础设施层
- 硬件(cpu、disk、mem)
- 网络(tcp/ip、丢包、抓包、routes)
- 操作系统
- 容器、容器调度平台(docker、containerd、k8s、helm、kubectl)
- 云平台 (熟悉阿里云控制台)
- 基础服务层
- 关系数据库
- 表结构设计
- 索引原理及命中分析
- explain及执行计划优化
- 死锁日志排查
- (将来)数据库分表设计及方案
- nosql 数据库
- 表结构设计(字段设计)
- 索引原理及命中分析
- 分片原理及查询分析
- 缓存数据库
- 数据结构实现原理及适用场景
- 数据结构性能
- redis分片原理
- redis监控分析
- 消息队列
- kafka高性能原理及相关配置
- 幂等性问题及预防
- 消息持久问题及消息丢失预防
- kafka心跳维持机制及commit机制
- Kafka partition分配机制
- Kafka topic对性能的影响
- 搜索服务
- es索引原理
- es分片方案及聚合方案
- es索引设计
- es分词方案
- es查询打分机制
- 异构数据同步方案(logstash、canal)
- es接口操作
- 日志服务
- 日志体系(elk、efk)
- kibana看板操作熟练
- apm服务
- tracing
- 监控服务
- exporter各类指标含义
- prometheus查询语言熟练
- grafana看板操作熟练
- 关系数据库
- 测试工具
- 数据库 benchmark 工具
- YCSB (HBASE、mongodb、redis、Cassandra等)
- redis-benchmark
- mysqlslap、tpcc
- pgbench、pgbench-tools
- kafka-producer-perf-test.sh
- 通用 http 请求压测工具
- ab、wrk、go-stress-testing
- jmeter、metersphere、pts
- postman、loadRunner、locust
- k6
- 通用 rpc 请求压测工具
- k6、jmeter
- 通用 ws 请求压测工具
- k6
- 通用 网络、磁盘、cpu 压测工具
- Iperf
- fio、dd
- memtester
- sysbench、stress
- 混沌测试工具
- chaos monkey
- 各业务专用压测工具
- 数据库 benchmark 工具
- 监控工具
- 系统监控工具
- 通用监控工具
- Top
- Htop
- Glances
- nmon
- netdata
- Sysstat
- dstat
- 通用监控工具
- 磁盘监控
- Iostat
- Iotop
- 网络监控
- nethogs
- iftop
- Netstat
- Ss
- cpu监控
- Vmstat
- Uptime
- pidstat
- (锁监控、缓存命中监控)
- 内存监控
- free
- 进程监控
- ps
- 容器系统监控工具
- Pod exporter(暂时用的cadvisor)
- 服务监控工具
- 服务 exporter
- 系统监控工具
文档直通车:
Friendship is an arrangement by which we undertake to exchange small favors for big ones.
— Montesquieu
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!