软件架构设计之一:系统性能评价

一、本章要点

1)性能计算(响应时间、吞吐量、TAT)

2)性能设计(系统调整、Amdahl解决方案、响应特性、负载均衡)。

3)性能指标(SPEC-Int、SPEC-Fp、TPC、Gibsonmix、响应时间)。

4)性能评估。


二、系统性能计算

1)计算机系统性能指标以系统响应时间、作业吞吐量为代表。

2)故障响应时间是指从出现故障到该故障得到确认修复前的这段时间。

3)性能指标计算的主要方法有定义法、公式法、程序检测法和仪器检测法。


1、响应时间

1)系统响应时间是指用户发出完整请求道系统完成任务给出响应的时间间隔。

2)系统的响应时间对每个用户来说都是不一样的,以下因素会影响系统的平均响应时间:

  (1)和业务相关,处理不同的业务会有不同的响应时间。

  (2)和业务组合有关,业务之间可能存在依赖关系或其他,也会互相影响。

  (3)和用户数量有关,大并发量会严重影响响应时间。

3)有多种方法来测试响应时间,常用的有两种,首字节响应时间和末字节响应时间。

4)米勒给出的三个经典的有关响应时间的建议:

  (1)0.1s:用户感觉不到任何延迟。

  (2)1s:用户愿意接受的系统立即响应的时间极限。

  (3)10s:用户保持注意力执行本次任务的极限。


2、吞吐量

1)吞吐量就是在给定的时间内,系统的吞入能力与吐出能力是多少。

2)计算机的吞吐量主要取决于内存的存储周期。

3)从系统的角度来看,吞吐量是指单位时间内系统所能完成的任务数量。

4)现实的请求与服务,一般都服从M/M/1排队模型。

5)性能计算中的两个公式:

平均利用率p=平均到达事务数/平均处理事务数,平均响应时间=平均处理时间/(1-p)



三、系统性能设计

1、系统调整

1)为了优化系统的性能,有时需要对系统进行调整,这种调整也称为性能调整。

2)性能调整由查找和消除瓶颈组成。

3)开始性能调整之前,必须做一些准备工作,为正在进行的性能调整活动建立框架:

  (1)识别约束。约束(如可维护性)在寻求更高的性能方面是不可改变的因素,因此,在寻求提高性能的方法时, 必须集中在不受约束的因素上。

  (2)指定负载。确定系统的客户端需要哪些服务,以及对这些服务的需求程度。最常用的度量标准是客户端数目、客户端思考时间以及负载分布状况。

  (3)设置性能目标。性能目标必须明确,包括识别用于调整的度量标准及其对应的基准值。总的系统吞吐量和响应时间是用于测量性能的两个常用度量标准。


4)建立了性能调整的边界、约束和目标后,就可以开始进入调整循环了。

  (1)收集。使用为系统特定部分选择的性能计数器集合来收集数据。建立系统行为的基准集。

  (2)分析。对数据进行分析以确定瓶颈。

  (3)配置。确定系统那部分最适合进行配置更改,然后实现此更改。最重要规则:一次仅实现一个配置更改。

  (4)测试。确定更改对调整的系统所产生的影响。达到预期则退出,否则调整循环。


2、阿姆达尔解决方案

1)阿姆达尔(Amdahl)定律:系统中对某部件采用某种更快的执行方式,所获得的系统性能改变程度,取决于这种

方式被使用的频率,或所占总执行时间的比例。

2)加速比=不使用增强部件时完成整个任务的时间/使用增强部件时完成整个任务的时间

3)加速比取决于两个因素:

  (1)在原有的计算机上,能被改进并增强的部分在总执行时间中所占的比例。

  (2)通过增强的执行方式所取得的改进,这个值是在原来条件下程序的执行时间与使用增强功能后程序的执行时间之比。


4)新的执行时间=原来的执行时间*((1-增强比例)+增强比例/增强加速比)

5)总加速比=原来的执行时间/新的执行时间=1/((1-增强比例)+增强比例/增强加速比)


3、负载均衡

1)负载均衡是由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无需其他服务器的辅助。

2)比较常见的负载均衡技术如下:

  (1)基于DNS的负载均衡。简单有效,但不能区分服务器差异,也不能反映服务器的当前运行状态。

  (2)代理服务器负载均衡。

  (3)地址转换网关负载均衡。

  (4)协议内部支持负载均衡。如HTTP协议中的重定向能力。

  (5)NAT负载均衡。

  (6)反向代理负载均衡。

  (7)混合型负载均衡。


四、系统性能评估

1)常用方法有:时钟频率法、指令执行速度法、等效指令速度法、数据处理速率法、综合理论性能法和基准程序法。

2)时钟周期时钟频率的倒数,一个时钟周期内,CPU仅完成一个最基本的动作。

3)完成一个基本操作所需要的时间称为机器周期,一般由若干时钟周期组成。

4)指令周期是执行一条指令所需要的时间,一般由若干个机器周期组成。

5)MIPS(每秒百万指令数)、MFLOPS(每秒百万浮点操作次数)

6)等效指令速度法也称为吉普森混合法(Gibsonmix)或混合比例计算法,通过各类指令在程序中所占比例进行计算得到的。

7)数据处理速率(PDR)=L/R,L=0.85G+0.15H+0.4J+0.15K,R=0.85M+0.09N+0.06P。G是每条定点指令的位数,M是平均定点加法时间,H是每条浮点指令的位数,N是平均浮点加法时间,J是定点操作数的位数,P是平均浮点乘法时间,K是浮点操作数的位数。G>20,H>30

8)PDR主要对CPU和内存储器的速度进行度量,不适合衡量机器整体速度。

9)综合理论性能CTP

10)基准程序法:

  (1)Khrystone基准程序。

  (2)Linpack基准程序。

  (3)Whetstone基准程序。

  (4)SPEC基准程序。两种测试方法:一种是测试计算机完成单个任务的速度测试;一种是测试计算机在一定时间内能完成多少任务的吞吐率测试。

  (5)TPC基准程序。

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
西南石油大学软件学院 软件科技月之 软件设计大赛决赛评分系统2.0 =============================================== 在第一版免费发布后,下载量已经过万。 QQ快要加爆了,很多网友提出了很有建设性的建议。在此感谢~~!。 旨在和大家交流技术的角度,我又做了第二版本。纯ASP+ACCESS,现在免费发布出来。供大家学习! 所有数据均摘自网络! =============================================== 2.0改进内容: 1.修改美工的BUG 2.动态生成评分标准、入库/出场项目排序 3.评分标准可以分手动打分和控件打分 4.过滤非法数据,防止****,利用帐户来判断打分情况,取消采用IP判断 5.管理员查看动态报表,监控评分过程 6.所有项目和标准后台添加、管理 7.修改入库计算分数的BUG 8.新加管理员报表系统,管理员可以在线及时查看比赛信息、日志。防止打分**** 9.完善了后台,修改了一些细节问题,这里就不一一列举了。 ================================================ 后台:admin/admin_login.asp 数据库:database/database.asp 前台:default.htm 登录帐户:pw1 登录密码:123456 ================================================ 特点: 1.全部数据动态添加、动态生成 2.过滤非法数据 3.防止打分用户**** 4.满足2NF ================================================ 后记:是否还要做下个版本,要看我是否还有时间了,马上工作了,而且现在ASP我觉得已经没有什么太多的技术含量了,在之前我还做过ASP+动态JS+DLL+MSSQL的我们院的网站。 下一版本我打算转到SUN这边用Struts框架来做,如果有时间的话,而且还会加入Ajax,哈哈,其实很简单的! ================================================ 个人主页:www.Jmaker.NET QQ:66457593 MSN:jeepctw@gmail.com ================================================ OOP那些东东,我都很熟悉~ 寻志同道合之士,如果你有Technology或idea~想自己闯出一片天地的话。 中国互联网未来是属于10年后的80一代-----我们!2007-7-25Jmaker

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值