一、课程背景
本课程从架构性能的角度出发。解析了性能测试理论知识,分析性能测试的体系建设过程、性能测试团队建设过程,理清整个性能测试执行流程及整个过程的执行控制。详解业务统计数据到场景的转化过程。详解性能场景设计。详细讲解工具的使用原理,详细描述了性能测试执行过程中出现问题的控制方法。重点解析了性能分析的逻辑思路和问题处理方法。解析了性能测试工具、性能监控工具、性能分析工具、性能调试工具的各个方面。提高对整个系统的认知高度。描述了性能测试报告的编写技巧。
二、课程目标
通过本课程的学习,可以掌握测试体系建设思路、性能测试团队建设思路、性能过程执行控制能力、性能分析逻辑思维能力 。
课程目标
针对个人的课程目标:
可以掌握性能体系建设思路;
性能测试团队建设思路;
性能过程执行控制能力;
性能分析逻辑思维能力。
针对企业的课程目标:
帮助企业、团队、个人提升性能意识;
帮助企业理清性能团队提升的痛点;
帮助企业快速理解架构级性能测试和分析优化的关键点;
帮助企业减少生产运营成本;
帮助团队、个人理清当前的瓶颈点。
三、课程优势和亮点
云部署实例教学,在有条件的情况下学员可亲手操作;
从测试工具、监控工具、分析工具、调试工具的完整课程;
从操作系统、数据库、中间件、网络的完整分析过程;
实例性能问题代码分析。
四、课程对象
此课程适合于性能架构师、性能分析师、性能测试工程师、性能项目经理、软件质量管理人员、运维人员、开发工程师
五、性能分析调优培训大纲
课程模块 | 内容 | 目的 | 重点 |
性能综述 | 先看两个问题 性能测试与性能分析该有的范围 | √ | |
性能基本概念 | 性能测试概念 性能指标 性能建模(业务模型/测试模型) 性能方案 性能场景 其他基本概念 响应时间 并发 TPS 虚拟用户 场景 测试策略 流控/超时 | 理解性能相关的基本概念及相应的使用方法。 | √ |
性能管理 | 性能组织结构(角色职责定义) 理解性能测试实施过程 Overview看系统性能 性能项目实施流程 性能瓶颈分析过程 执行过程控制 团队内协作 团队间协调 性能汇报 | 如何在性能测试过程中管理团队; 如何在各团队间协调; | √√ |
性能体系/方法论 | 性能体系/方法论 方法论的关键 | 方法论只有用到具体的工作中才是实用的方法论。 | √√ |
性能场景设计 | 场景设计逻辑 基准场景 -单业务单用户场景 -单业务多用户场景 容量场景 -递增场景(混合业务,找到最大TPS) -配置测试场景 -衰减测试场景 稳定性场景 异常场景(失效模式) -LB/HA场景 -宕网卡/主机/应用场景 | 找到单业务/接口、混合业务/接口最大TPS; 找到系统最优配置; 找到系统可持续运行时长; 验证系统异常处理机制; 系统可靠性分析; | √√ |
测试工具解析 | 参数化 关联 并发 事务 思考时间 平均值、标准方差 | 解析通用并且关键的性能工具实现机制; | √ |
性能工具解析之LoadRunner | LoadRunner介绍 LoadRunner Vugen LoadRunner Controller LoadRunner Analysis | 解析LoadRunner常用功能点 | √ |
性能工具解析之Jmeter | Jmeter介绍 Jmeter录制 Jmeter参数化 Jmeter关联 java脚本编写 JDBC脚本编写 WebService脚本编写 Jmeter远程执行 Jmeter Test Fragment Perfmon Plugin Jmeter Dashboard | 解析jmeter常用功能点 | √ |
性能工具解析之其他性能测试工具 | iperf sysbench FIO hdparm ab | 解析其他常用性能测试工具 | √ |
性能监控设计 | 全局监控 定向监控 监控设计 监控层次细化 | 部署架构; 技术架构; 业务架构; | √√ |
性能分析方法 | 架构角度 模块角度 分段排除 -响应时间拆分 分层排除 -技术层级拆分 | 性能分析思路是重点; | √√√ |
性能需求指标 | 测试目的 测试范围 业务调研 测试环境调研 测试指标及测试数据 并发用户数 系统可扩展性指标 性能需求来源 性能需求应该包括什么 | 分析性能指标到可操作层面; | √√ |
业务统计数据到场景的转化 | 业务数据统计 业务模型 测试模型 对应场景设置 | 详解业务统计数据到场景的转化过程; | √√ |
系统级性能监控分析优化 | 操作系统架构图 全局监控分析 CPU监控分析与优化 Memory监控分析与优化 IO监控分析与优化 文件系统监控 网络监控分析与优化 进程间通信监控分析与优化 | 以Linux为例,详解操作系统级别性能监控分析和优化;
| √√√ |
代码级性能监控分析优化 | 【JAVA】 Java基本原理和JVM架构说明 Java调优工具集 Jstat jconsole jstack jmap jhat jvisualvm jmc jdb heapdump分析 ThreadDump分析 JAVA性能分析实例一 JAVA性能分析实例二 JAVA性能分析实例三 【C/C++】 监控分析工具 C/C++性能分析实例一 C/C++性能分析实例二 C/C++性能分析实例三 C/C++性能分析实例四 C/C++性能分析实例五 | 详解代码级别性能监控分析和优化; | √√√ |
应用服务器性能监控分析优化 | 应用服务器架构 应用服务器监控工具 应用服务器分析优化 | 以nginx/tomcat为例说明应用服务器性能监控分析优化部分; | √√√ |
数据库级性能监控分析优化 | 数据库架构图 数据库监控工具 SQL执行时间分析 | 解析数据库级别性能监控分析和优化的思路;以MySQL和Oracle为例。 如企业内训有其他需求,可提出 | √√√ |
系统调试工具 (以CentOS为例) | strace trace/blktrace perf systemtap Flame Gragh(火焰图) | √√√ | |
系统可用性分析 | 可用性计算公式(串行、并行) N+M并行系统可用性计算公式 可用性分析方法 分层模型 可用性示例-网络拓扑 组件故障关系分析 计算示例 | 系统可用性是生产运维的重要指标,这一节主要描述如何做生产运维的可用性分析,提供模型计算方法和具体操作过程。 | √√√ |
排队论在性能分析中的应用 | 排队论概念 排队论公式 排队论实例 | 排队论在宏观性能分析和微观众性能分析中都有实用价值,但是企业要创建模型会比较费时费力费人,本章节主要描述如何创建针对性的排队论模型。 | √√√ |
失效模型在性能分析中的应用 | 失效模型概念及流程 潜在失效模型和后果分析 SOD分级表 RPN风险系数 | FMEA在项目中用来分析性能测试过程中的失效模型非常有帮助。本节主要描述如何在项目中创建潜在失效模型和后果分析表。 | √√ |
性能问题实例 | 性能问题实例分析,在没的项目中遇到的性能问题不同,用具体的实例对应到上述的完整性能分析思路。 | √√ | |
性能方案 | 性能方案解析 | 用真实的项目性能方案做示例解析。 | √√√ |
性能报告 | 性能报告解析 | 用真实的项目性能报告做示例解析。 | √√√ |