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