架构级性能测试与分析

架构级性能测试与分析
    马上咨询

    高娄  淘宝软件有限公司资深测试

    曾经作为性能测试、性能调优高级工程师和性能测试项目经理参与过多个大型企业及机构的测试服务、咨询和管理工作,提供专业的测试支持和服务。
    曾领导并实施国家电网、GE、中国人寿、中国出口信用保险公司、PICC、中国建设银行、中国农业银行、中国工商银行、北京银行、招商银行、华夏银行等企业部分项目的性能测试及调优,并且为多家国企、西南科技大学、方正集团、尚阳信德、中国船舶集团、中国机械化研究所、风行等机构的测试中心提供咨询和培训服务,曾与多家互联网企业如奇虎、腾讯、百度、Google、淘宝多家公司的性能测试人员进行过深入的沟通探讨,并组织相应的技术论坛。在测试团队以及测试体系的建立、测试度量、功能测试方法以及软件模型成熟度有一定的研究,擅长性能测试,拥有丰富的性能测试经验,对性能测试流程、方法、策略、监控、结果分析等有一定的见解,对性能测试原理、性能测试实施和项目实施管理有非常深入的看法。近两年长期在欧洲做项目,积累了不同文化背景下的测试管理经验。

    课程简介

    本课程解析了性能测试理论知识,分析性能测试的体系建设过程、性能测试团队建设过程,理清整个性能测试执行流程及整个过程的执行控制。详解业务统计数据到场景的转化过程。详解性能场景设计。详细讲解工具的使用原理,详细描述了性能测试执行过程中出现问题的控制方法,重点解析了性能分析的逻辑思路和问题处理方法。提高对整个系统的认知高度。描述了性能测试报告的编写技巧。

    目标收益
    1、性能测试理论解析部分
    2、性能测试体系、团队建设部分
    3、场景设计、方案设计
    4、性能测试执行过程、性能分析部分
    5、性能测试汇报度量部分

    培训对象
    此课程适合于测试经理、性能测试人员、软件质量管理人员、运维人员、开发人员

    课程大纲

    性能综述
    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-宕网卡/主机/应用场景
    测试工具解析(目的:解析通用并且关键的性能工具实现机制)
    1.参数化
    2.关联
    3.并发
    4.事务
    5.思考时间
    6.平均值、标准方差
    性能工具解析之LoadRunner(目的:解析LoadRunner常用功能点)
    1.LoadRunner介绍
    2.LoadRunner Vugen
    3.LoadRunner Controller
    4.LoadRunner Analysis
    性能工具解析之Jmeter(目的:解析jmeter常用功能点)
    1.Jmeter介绍
    2.Jmeter录制
    3.Jmeter参数化
    4.Jmeter关联
    5.java脚本编写
    6.JDBC脚本编写
    7.WebService脚本编写
    8.Jmeter远程执行
    9.Jmeter Test Fragment
    10.Perfmon Plugin
    11.Jmeter Dashboard
    性能工具解析之其他性能测试工具(目的:解析其他常用性能测试工具)
    1.iperf
    2.sysbench
    3.FIO
    4.hdparm
    5.ab
    性能监控设计(目的:部署架构;技术架构;业务架构;)
    1.全局监控
    2.定向监控
    3.监控设计
    4.监控层次细化
    性能分析方法(目的:性能分析思路是重点)
    1.架构角度
    2.模块角度
    3.分段排除
    -响应时间拆分
    4.分层排除
    -技术层级拆分
    性能需求指标(目的:分析性能指标到可操作层面)
    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性能分析实例三
    【C/C++】
    监控分析工具
    C/C++性能分析实例一
    C/C++性能分析实例二
    C/C++性能分析实例三
    C/C++性能分析实例四
    C/C++性能分析实例五
    应用服务器性能监控分析优化(目的:以nginx/tomcat为例说明应用服务器性能监控分析优化部分;)
    1.应用服务器架构
    2.应用服务器监控工具
    3.应用服务器分析优化
    数据库级性能监控分析优化(目的:解析数据库级别性能监控分析和优化的思路;以MySQL和Oracle为例。如企业内训有其他需求,可提出)
    1.数据库架构图
    2.数据库监控工具
    3.SQL执行时间分析
    系统调试工具(以CentOS为例)
    strace
    trace/blktrace
    perf
    systemtap
    Flame Gragh(火焰图)
    系统可用性分析(系统可用性是生产运维的重要指标,这一节主要描述如何做生产运维的可用性分析,提供模型计算方法和具体操作过程。)
    1.可用性计算公式(串行、并行)
    2.N+M并行系统可用性计算公式
    3.可用性分析方法
    4.分层模型
    5.可用性示例-网络拓扑
    6.组件故障关系分析
    7.计算示例
    排队论在性能分析中的应用(排队论在宏观性能分析和微观众性能分析中都有实用价值,但是企业要创建模型会比较费时费力费人,本章节主要描述如何创建针对性的排队论模型。)
    1.排队论概念
    2.排队论公式
    3.排队论实例
    失效模型在性能分析中的应用(FMEA在项目中用来分析性能测试过程中的失效模型非常有帮助。本节主要描述如何在项目中创建潜在失效模型和后果分析表。)
    1.失效模型概念及流程
    2.潜在失效模型和后果分析
    3.SOD分级表
    4.RPN风险系数
    性能问题实例
    性能问题实例分析,在没的项目中遇到的性能问题不同,用具体的实例对应到上述的完整性能分析思路。 
    性能方案
    性能方案解析
    性能报告
    性能报告解析