软件性能工程分析
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SPE的工作过程
分析软件结构和设计 建立SPE模型 对模型进行求解
SPE建模策略
简单模型策略:从最简单的可用模型开始,识 别系统体系结构、设计或实现计划中的问题。 (适用于项目早期) 最佳和最差情况策略:使用资源需求的最佳和 最差情况评估策略为预期性能设定上下限,同 时对评估中的不确定性进行管理。 适应精确策略:将模型中所表现的详细情况与 你掌握的软件处理过程细节的知识相匹配。 (在后期,应对模型进行扩展和精化)。
系统执行模型
系统执行模型将关键的计算机资源表示
为队列和服务器。服务器表示环境的组 成部件,提供软件某种服务。队列表示 等待服务的作业。服务器的重要性能度 量标准是:驻留时间、利用率、吞吐量、 队列长度。
数据采集
在SPE建模中需要必要的数据,来建立
和求解软件与系统性能模型。包括关键 性能场景、性能目标、运行环境、软件 资源需求、计算机资源需求。
软件执行模型
在开发阶段早期,对软件设计和实现细
节缺乏了解时,构建简单的模型,以获 得软件的基本性能特征。即软件执行模 型,解析软件执行模型可以提供平均的 和最佳最差的响应时间的静态分析,特 征化了目标软件独立的资源需求,摒弃 了其他负载、多用户或由于争夺资源造 成的延迟的影响。随着对软件设计和实 现细节的了解越来越完整,逐步优化软 件执行模型。
软件执行模型
用执行图表示软件执行模型。类似于
UML中的活动图。执行图表现路径执行 频率,而且只模拟那些对性能起关键作 用的路径。软件执行模型中应将和性能 无关的细节排除在外。 执行图主要包括基本节点、扩展节点、 重复节点、情况节点(判断节点)、并 行执行节点、分割节点。
模型求解
对图形进行考查并确定一个基本结构,结算结 构时间用“计算节点”代替结构,整个的时间 相加即所用的时间。顺序结构的时间即所有节 点的时间的和;循环结构的时间即节点时间乘 以循环次数;情况节点的时间的最佳情况即最 长路径的时间,最差情况即所有路径的时间的 和。 分析过程:对于每个基本节点,定义每种软件 资源服务请求量的最佳和最差情况值。然后计 算该模型的全部计算资源,再计算最佳情况和 最差情况下的流逝时间的估计值。
软件测量
测量为SPE模型提供输入数据,验证并
确认模型,确定性能目标是否已经实现, 并且监控系统在整个生命周期内的性能。
要测量的数据
工作量负载数据:每种负载的请求数量、请求 速率以及请求模式。 数据特征:数据总量以及每个数据项的大小。 执行特征:路径特征(测量每个重要路径的执 行次数以便计算循环反复的次数和条件路径的 执行概率)、软件资源使用(测量请求次数和 平均持续时间)、处理开销(测量软件资源请 求各种关键计算机系统资源提供服务的总量)。 计算机系统的使用:包括场景响应时间、吞吐 量、关键计算机系统资源使用、资源利用率、 资源吞吐量、资源队列长度。
数据采集工具
系统监视器(如UNIX的sar) 程序监视器 系统事件记录器 外部程序事件记录器 内部事件记录器
可伸缩性
指系统在对其软件功能的要求增加的情
wk.baidu.com
况下,能够继续实现响应时间或吞吐量 目标的能力。
性能失败的原因
通常由于体系结构或设计问题造成。性
能问题在开发过程的早期已经引入,而 大部分开发团队直到集成测试或更晚的 时候才予以考虑。
什么是软件性能工程
是一种系统的、定量的方法,用于构建
能够符合性能目标的软件系统。是关于 性能的一种工程,避免了性能驱动的开 发和“后期修正”方法的两个极端。 SPE通过模型预测评估软件功能、硬件 规模、质量结果和资源需求之间的平衡 点。SPE是一种面向软件的方法,重点 在于体系结构、设计和实现的选择。使 开发人员有能力选择具有可接受性能特 征的体系结构和设计方案,帮助他们进 行资源需求控制。
系统执行模型
软件执行模型提供对软件平均的、最佳
和最差的情况下的响应时间的静态分析。 描述了软件独立的资源需求特征,而没 有考虑其他负载或多用户情况,它们因 争用资源而导致延迟。通过解析软件执 行模型揭示出的问题应当在继续构建和 求解系统执行模型之前解决。系统执行 模型是一个动态模型,它描述软件系统 在引入其他负载和多用户这些会引起资 源征用的因素后的性能特征。
性能遍历
为获得必要的信息来构建性能模型,由
一名成员引导参与者,审查系统体系结 构、设计或实现的细节。进行性能遍历 的时机:确立系统功能的总体观念时进 行第一次性能遍历;使用性能风险等级 来确定性能遍历的频率。成功进行性能 遍历的提示:精通SPE、管理会议、确 定什么最先发生、对某些主体进行专门 交流等等。
SPE软件性能工程
韩庆良
性能定义
软件系统或构件对于其及时性目标的符
合程度。 性能是软件产品的一种特征,原则上可 以坐在计算机前手持秒表来测量。 软件性能的及时性包括响应性和可伸缩 性。
响应性
是系统实现其响应时间和吞吐量目标的
能力。可以是系统对事件的响应速度或 是给定时间内处理的时间数量。响应性 既含有客观成分,也含有主观成分,如 不同条件下的用户,对响应时间的感知 可能不同,在确定性能目标时,对感知 响应性也应给予重视。