做企业培训,当然要找对好讲师!合作联系

刘晖:高级性能测试与性能分析课程

刘晖老师刘晖 注册讲师 27查看

课程概要

培训时长 : 1天

课程价格 : 扫码添加微信咨询

课程分类 : 专业技术

课程编号 : 16875

面议联系老师

适用对象

性能架构师、性能分析师、性能测试工程师、性能项目经理、软件质量管理人员、运维人员、开发工程师

课程介绍

一、课程背景

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

二、课程目标

通过本课程的学习,可以掌握测试体系建设思路、性能测试团队建设思路、性能过程执行控制能力、性能分析逻辑思维能力 。

课程目标

       针对个人的课程目标:

可以掌握性能体系建设思路;

性能测试团队建设思路;

性能过程执行控制能力;

性能分析逻辑思维能力。

       针对企业的课程目标:

帮助企业、团队、个人提升性能意识;

帮助企业理清性能团队提升的痛点;

帮助企业快速理解架构级性能测试和分析优化的关键点;

帮助企业减少生产运营成本;

帮助团队、个人理清当前的瓶颈点。

三、课程优势和亮点

云部署实例教学,在有条件的情况下学员可亲手操作;

从测试工具、监控工具、分析工具、调试工具的完整课程;

从操作系统、数据库、中间件、网络的完整分析过程;

实例性能问题代码分析。

四、课程对象

       此课程适合于性能架构师、性能分析师、性能测试工程师、性能项目经理、软件质量管理人员、运维人员、开发工程师

五、性能分析调优培训大纲

课程模块内容目的重点
性能综述

先看两个问题

性能测试与性能分析该有的范围

 
性能基本概念

性能测试概念

性能指标

性能建模(业务模型/测试模型)

性能方案

性能场景

其他基本概念

响应时间

并发

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在项目中用来分析性能测试过程中的失效模型非常有帮助。本节主要描述如何在项目中创建潜在失效模型和后果分析表。√√
性能问题实例 性能问题实例分析,在没的项目中遇到的性能问题不同,用具体的实例对应到上述的完整性能分析思路。√√
性能方案性能方案解析用真实的项目性能方案做示例解析。√√√
性能报告性能报告解析用真实的项目性能报告做示例解析。√√√

 

 

 

 

 

 

刘晖老师的其他课程

• 刘晖:分布式操作系统技术培训
【课程背景】随着物联网的发展,以移动智能终端为中心连接其他终端的场景越来越丰富,信息、数据可在PC、智能终端以及部分可穿戴设备上流通,但由于PC、终端、可穿戴设备的操作系统不同,在互联时存在不少问题。为打破不同操作系统壁垒,促进各终端之间无阻碍连接协同,分布式操作系统应运而生。项目《终端操作系统与软件新技术研究》旨在研究主流操作系统与新兴操作系统技术进展、应用与发展前景,分析对产业链上下游各方的影响,因此需要开展分布式操作系统培训,深入了解技术原理。同时,对新兴操作系统如鸿蒙、Fuchsia有进一步的了解。【培训目标】帮助项目人员深入了解分布式操作系统技术架构、功能,学习现有终端新操作系统如鸿蒙、Fuchsia等。【培训对象】终端开发工程师、终端架构师、软件开发工程师、硬件开发工程师、终端产品经理等【培训大纲】2天 时间安排课程章节详细内容备注Day1上午(9:00-12:00) 分布式操作系统基础知识1、分布式操作系统介绍1)    系统架构2)    进程和线程3)    多处理器和分布式调度4)    虚拟化5)    OS虚拟化6)    流程,代码和VM迁移7)    分布式系统中的通信8)    远程方法调用9)    消息排队和流传输10)  分布式命名11)  时钟同步12)  逻辑和矢量时钟,dist快照13)  分布式交易14)  一致性,流行病协议15)  实施一致性; 容错能力16)  拜占庭式失败,分布式提交,Paxos  Day1下午(14:00-17:00)分布式操作系统基础知识分布式调度分布式应用分布式软总线2、分布式数据/文件系统1)    Coda2)    xFS3)    HDFS4)    GFS5)    NFS6)    不同分布式文件系统比较分析7) 分布式数据库3、分布式安全(重点讲解)1)   安全机制2)   安全通道3)   访问控制4)   安全管理  Day2上午(9:00-12:00) 终端新兴操作系统介绍1、鸿蒙操作系统(重点)1)   概述2)   技术特性3)   技术架构图4)   组件、功能介绍5)   系统安全6) 开发框架  Day2下午(14:00-17:00)终端新兴操作系统介绍2、Fuchsia操作系统1)    概述2)    技术特性3)    技术架构图4)    组件、功能介绍3、不同操作系统比较分析1)    OS技术架构:安卓、iOS、鸿蒙、Fuchsia2)    OS特点及优势3) OS发展趋势预测  
• 刘晖:持续集成和自动化测试最佳实践培训
【课程简介】当前时代已经进入到DevOps的自动化测试时代,由于运维的快速持续交付,开发的敏捷化开发与持续集成,让交付速度越来越快。 但是在越来越快的交付下,手工测试无法进行满足交付速度,而传统的自动化测试,也无法覆盖需求和应对快速的需求变更。BDD、TDD、ATDD对于简单业务可以做到快速覆盖与需求对应的快速变更,但是,复杂的业务模式下,如金融、电信、能源、汽车、ERP、甚至复杂的互联网需求,BDD与ATDD等无法应对需求的快速变更。所以,本次课程通过3个阶段:测试建模(测试用例自我生成),自我构建关系链路(测试场景自匹配)、工具胶水层与适配层(接入各种自动化测试工具),来描述在复杂业务模式下,当需求变更,如何应对并产生自适应的自动化测试规则与脚本。使学员快速掌握:测试模式与各种适用性场景、掌握复杂业务下自动化测试建模分析方法、掌握自动化测试与Use Story的快速匹配、了解云平台下测试的各种特点与对应方法【目标收益】 掌握测试模式与各种适用性场景 掌握复杂业务下自动化测试建模分析方法 掌握自动化测试与Use Story的快速匹配 掌握快速维护自动化测试的方法 了解云平台下测试的各种特点与对应方法【课程对象】管理人员、测试架构师、相关测试人员【课程时长】4天(6.5小时/天)第一天测试发展趋势互联网与数字化的发展要求DevOps时代来临测试目前发展趋势,是否可以解决当前问题测试是否拖累当前所有的进度,问题有哪些测试 模型:金字塔、纺锤、冰淇淋等部分传统方法是否可以解决当前问题测试发展的误区测试跟随着开发的模式测试想跟随需求,但落地方法错误变更,无法跟上节奏感传统企业,面临的双峰挑战(稳态+敏态)团队与人员的阻碍文档的更新模式DevOps是否可以解决问题复杂业务测试问题的根源分析双峰挑战下的测试模式传统企业,为何无法适应上述测试模式(国外引入水土不服)持续集成带来的持续测试,是否解决了根本性问题?人才发展的限制与团队瓶颈测试思维的切换:测试建模思路:业务需求+技术需求+监管需求+旁路影响分支需求需求—>开发—>测试:传统为阶乘式增长,无法维护测试建模的方法与原理,对应解决的问题DevOps只是工具链的建立,测试建模真正解决测试端的问题曾经的弯路:微软测试建模走偏测试建模,本质上解决了维护性代价的问题,但为何无法成功实施测试建模的分析分析:旧有模式仍然为离散式的跟踪,跟随开发抛弃工具绑定的思想1vs1的思路,跟踪需求(业务+技术+监管+旁路)需求端直接生成用例与脚本,真正为TDD作者在美国4年和中国5年的构建实例测试建模平台落地方案与演示Demo整体架构笛卡尔乘积的构建有限状态机的构建中间存储矩阵构建统一的展现平台,外接不同的引擎传统平台的功能:权限管理、项目管理、报表分析等等植入监控与反馈链接到DevOps平台,与需求对接,映射开发第二天测试模型与有效构建路径国外的业务发展模式与国内的区别BDD的适应场景,团队与人员要求TDD的适应场景,团队与人员要求ATDD的适应场景,团队与人员要求关键字的适应场景,团队与人员要求敏捷测试的适应性与发展限制分级测试的提出与互联网应对微服务下契约测试的提出与团队要求测试要点分析Web测试的要点分析Client测试的要点分析App测试的要点分析敏捷测试敏捷的概念、原则与构成敏捷测试范围与作用Kanban的融合与使用DevOps中测试体系与度量什么是DevOpsDevOps的思路与方案DevOps下测试如何进行部分案例举例测试与运维关联环境发布策略工具举例测试环境的准备第三天分层测试BDD的组成与概念,编写方式TDD的组成与概念,编写方式ATDD的组成与概念,编写方式测试标准化构建和构建通讯1-5-15-60分级质量模型分层测试说明和规范CI/CD构建简要介绍度量数据驱动改进分层自动化1. 目的2. 大型系统持续交付难点3. 分层自动化的构成4. 分成自动化的过程管理实践举例5. 分层自动化实现举例6. 其他有效参考分层自动化的伴侣-持续集成成熟度模型持续集成概念持续集成与持续测试自动化测试工具Sonar代码扫描Sonar的工具与指标介绍Selenium的工具介绍Selenium与QTP的不同:对象定位、脚本方式Appnium的定位方式小结第四天接口测试接口测试测试数据准备的公用类规则抽取Jenkins介绍工具安装工具与Selenium的集成举例性能测试性能测试原理三种性能测试方法性能测试的注意事项和主要风险性能测试的准入条件性能测试的类型系统的主要性能指标性能测试流程主要硬件指标App的性能测试案例举例Jmeter与Loadruner云平台下的测试针对云的测试,与云上应用的测试方法对比功能自动化+性能测试的融合,广东移动案例通过抹黑启动来预测自动伸缩的阈值大小,12306的案例容器下的伸缩判定全链路压测,德邦物流与京东案例Windows下的硬件涉及相关测试从诺基亚需求开始说起OCR识别的方式,通过视频进行说明MIT的自动化测试框架,忽视所有对象类型,转换为图片   
• 刘晖:编程基础
【课程特色】1.   课上采用案例式教学,通俗易懂,课下一对一辅导强化训练,学与练交叉进行强化记忆,你所要做的就是认真听,勤于问,乐于练。2.   清晰的知识结构,根据应用经验采用最优化授课模式。3.   内容充沛、详略得当,前后呼应。4.   讲师资历丰富,具有丰富的实践经验。5.   知识讲授+贴身案例+场景故事+互动讨论+现场演练+落地跟踪【课程时间】1天【课程大纲】第一部分:编码规范第1章 基础知识概述编码风格 必须学习编码风格的原因 编码风格有益于编译执行方式和混合执行方式 基于组件的软件开发方式与编码风格 将编码惯例文档化以统一应用 第2章 程序设计阶段所需编码准则遵循最新标准 维护旧程序比开发新程序更常见 慎重采用新技术 第3章 间隔相关编码准则一行只写一条语句 区分声明语句和执行语句 区分段落 区分各种控制语句 区分各函数 运算符前后需留出空格 不要在一元运算符与操作数之间插入空格 分号前不要插入空格 不要滥用Tab键 逗号后必须插入一个空格 逗号后不要插入太多空格 变量初始化时的列对齐 一行只声明一个变量 第4章 缩进相关编码准则大括号的位置 统一大括号的位置 内部代码块需要缩进输出部分需要缩进 不要毫无意义地缩进保持缩进程度的一致性选择合适的缩进程度 不要编写凸出形式的代码 第5章 注释相关编码准则多种注释形态 区分单行注释和注释框 添加“变量字典编写专用注释” 向程序插入伪代码 通过注释标注程序目标 程序起始部分必须添加头注释 在等于运算符旁添加注释 在大括号闭合处添加注释 在函数内部添加详细介绍函数的注释 注释标记原则 第6章 标识符名称定义相关编码准则系统化定义变量名 用变量名前缀表示变量数据类型 用变量名前缀表示变量存储类型 用函数名前缀表示函数功能 编写个人专属前缀 不要使用相似的变量名 在不影响含义的前提下尽可能简短命名 用下划线和大小写区分较长变量名 变量名不要以下划线开始 不要过度使用下划线 合理使用大小写命名标识符 用大写字母表示变量名中需要强调的部分 第8章 运算符相关编码准则恰当应用条件运算符有助于提高可读性不要凭借运算符优先级排列算式指针运算符应该紧接变量名 慎选移位运算,多用算术运算不要追求极端效率第9章 编写清晰代码所需编码准则不要投机取巧,应致力于编写清晰易懂的程序 切忌混淆while语句中关系运算符和赋值运算符的优先级 不要进行隐式“非零测试”不要在条件表达式中使用赋值语句避免产生副作用 函数原型中也要标注参数的数据类型形式参数也需要命名 必须标注返回值的数据类型 留意结果值在for语句等条件表达式中谨慎运算 大量使用冗余括号如果else语句使用大括号,那么if语句也应该使用 函数末尾务必编写return语句 第10章 编写可移植代码所需编码准则第11章 编写精确代码所需编码准则第12章 提升性能所需编码准则第13章 编写易于理解的代码所需编码准则第14章 用户接口处理相关编码准则第15章 编写零漏洞代码所需编码准则第16章 提升生产效率所需编码准则第二部分:并发编程第1 章 并发编程线程基础1.1 什么是线程1.2 线程创建与运行1.3 线程通知与等待1.4 等待线程执行终止的join 方法1.5 让线程睡眠的sleep 方法1.6 让出CPU 执行权的yield 方法1.7 线程中断1.8 理解线程上下文切换1.9 线程死锁1.9.1 什么是线程死锁1.9.2 如何避免线程死锁1.10 守护线程与用户线程第2 章 并发编程的其他基础知识2.1 什么是多线程并发编程2.2 为什么要进行多线程并发编程2.2 锁的概述2.2.1 乐观锁与悲观锁2.2.2 公平锁与非公平锁2.2.3 独占锁与共享锁2.2.4 什么是可重入锁2.2.5 自旋锁第3 章 并发编程实践3.1 ArrayBlockingQueue 的使用3.1.1 异步日志打印模型概述 2843.1.2 异步日志与具体实现 2853.2 Tomcat 的NioEndPoint 中ConcurrentLinkedQueue 的使用3.2.1 生产者——Acceptor 线程3.2.2 消费者——Poller 线程3.3使用Timer 时需要注意的事情3.3.1 问题的产生3.3.2 Timer 实现原理分析3.4 创建线程和线程池时要指定与业务相关的名称 3193.4.1 创建线程需要有线程名 3193.4.2 创建线程池时也需要指定线程池的名称

添加企业微信

1V1服务,高效匹配老师
欢迎各种培训合作扫码联系,我们将竭诚为您服务