架构级性能测试与分析培训
性能综述
1.先看两个问题
2.性能测试与性能分析该有的范围
性能基本概念
(理解性能相关的基本概念及相应的使用方法。)
1.性能测试定义
2.性能指标
3.性能建模(业务模型、测试模型)
4.性能方案
5.性能场景
6.其他基本概念
• 响应时间
• 并发
• TPS
• 虚拟用户
• 场景
• 测试策略
• 流控/超时
性能管理
(如何在性能测试过程中管理团队;
如何在各团队间协调)
1.性能组织结构(角色职责定义)
2.理解性能测试实施过程
3.Overview看系统性能
4.性能项目实施流程
5.性能瓶颈分析过程
6.执行过程控制
7.团队内协作
8.团队间协调
9.性能汇报
性能体系/方法论
(方法论只有用到具体的工作中才是实用的方法论。)
1.性能体系/方法论
2.方法论的关键
性能场景设计
(找到单业务/接口、混合业务/接口大TPS;
找到系统优配置;
找到系统可持续运行时长;
验证系统异常处理机制;
系统可靠性分析;)
1.场景设计逻辑
2.基准场景
2.1-单业务单用户场景
2.1-单业务多用户场景
3.容量场景
3.1-递增场景(混合业务,找到大TPS)
3.2-配置测试场景
3.3-衰减测试场景
4.稳定性场景
5.异常场景(失效模式)
5.1-LB/HA场景
5.2-宕网卡/主机/应用场景
主流性能工具解析
(解析通用并且关键的性能工具实现机制) LoadRunner解析
Jmeter解析
参数化
关联
并发
事务
思考时间
平均值、标准方差
性能工具解析之其他性能测试工具
(解析其他常用性能测试工具) iperf
sysbench
FIO
hdparm
ab
性能监控设计
(部署架构;
技术架构;
业务架构;)
1.全局监控
2.定向监控
3.监控设计
4.监控层次细化
性能监控实例
1.Grafana+Prometheus安装配置
2.Grafana+Prometheus监控原理
性能需求指标
(分析性能指标到可操作层面)
1.测试目的
2.测试范围
3.业务调研
4.测试环境调研
5.测试指标及测试数据
6.并发用户数
7.系统可扩展性指标
8.性能需求来源
9.性能需求应该包括什么
业务统计数据到场景的转化
(详解业务统计数据到场景的转化过程;)
1.业务数据统计
2.业务模型
3.测试模型
4.对应场景设置
系统级性能监控分析优化
(以Linux为例,详解操作系统级别性能监控分析和优化;)
1.操作系统架构图
2.全局监控分析
3.CPU监控分析与优化
4.Memory监控分析与优化
5.IO监控分析与优化
6.文件系统监控
7.网络监控分析与优化
8.进程间通信监控分析与优化
代码级性能监控分析优化 详解代码级别性能监控分析和优化;
【JAVA】
Java基本原理和JVM架构说明
Java调优工具集
Jstat
jconsole
jstack
jmap
jhat
jvisualvm
jmc
jdb
heapdump分析
ThreadDump分析
JAVA性能分析实例一
JAVA性能分析实例二
JAVA性能分析实例三
Metrics中的基础数据类型
Metrics的应用示例
应用服务器性能监控分析优化
(以nginx/tomcat为例说明应用服务器性能监控分析优化部分;)
1.应用服务器架构
2.应用服务器监控工具
3.应用服务器分析优化
数据库级性能监控分析优化
(解析数据库级别性能监控分析和优化的思路;以MySQL为例。
如企业内训有其他需求,可提出)
1.数据库架构图
2.数据库监控工具
3.SQL执行时间分析
前端性能分析
(对终端客户来说,前端的性能响应才是真实的感受。)
1.CharlesProxy
2.HttpWatch
3.Safari开发者工具
4.Chrome开发者工具
5.FireFox开发者工具
系统调试工具
(以CentOS为例)
strace
trace/blktrace
perf
systemtap
Flame Gragh(火焰图)
系统可用性分析
(系统可用性是生产运维的重要指标,这一节主要描述如何做生产运维的可用性分析,提供模型计算方法和具体操作过程。)
1.可用性计算公式(串行、并行)
2.N+M并行系统可用性计算公式
3.可用性分析方法
4.分层模型
5.可用性示例-网络拓扑
6.组件故障关系分析
7.计算示例
排队论在性能分析中的应用
(排队论在宏观性能分析和微观众性能分析中都有实用价值,但是企业要创建模型会比较费时费力费人,本章节主要描述如何创建针对性的排队论模型。) 1.排队论概念
2.排队论公式
3.排队论实例
性能问题实例 性能问题实例分析,在没的项目中遇到的性能问题不同,用具体的实例对应到上述的完整性能分析思路。
性能方案 用真实的项目性能方案做示例解析。
性能报告 用真实的项目性能报告做示例解析。