系统性能是一个系统提供给用户的众多性能指标的混合体,他主要包括硬件性能,也包括网络性能和软件性能。主要有以下几点:
性能指标主要以系统响应时间、吞吐量、故障响应时间为代表,故障响应时间是指从出现故障到确认恢复故障前的这段时间。该指标一般用来反应服务水平,平均故障响应时间越短,对用户系统的影响越小。计算方法主要有以下几点:
系统响应时间是指用户发出完整的请求到系统完成任务给出的响应时间间隔。处于系统中不同角色的人,对响应时间关注点不一样。
用户角度看,响应时间是用户发出请求开始计时到用户请求的相应结果展现在用户机器的屏幕上的这一段时间的间隔。这个时间称为“客户端响应时间”,它等于客户端的请求队列加上服务器的响应时间和网络的响应时间的总和。一般来说,用户角色感受的响应时间是最长的,很多影响因素不在应用系统的范围内,如数据包在网络上的传输时间、域名解析时间等。
米勒曾给出3个经典的有关响应时间的建议:
0.1秒:用户感觉不到任何延时。
1秒:用户愿意接受的系统立即响应的时间极限。即当执行一项任务的有效反馈时间在0.1秒-1秒之内时,用户愿意接受,超过则意味着用户会感觉到有延时,但是只要不超过10秒,用户还是可以接受的。
10秒:用户保持注意力执行本次执行任务的极限,如果超过仍然得不到有效的反馈,用户会转向其他的任务。
吞吐量就是给定时间内,系统的吞如能力和吐出能力是多少。从系统角度讲,吞吐量是单位时间内系统所能完成的任务数量。
从现实的请求与服务看,一般都是服从M/M/1的排队模型。M/M/1排队模型是指顾客到达时间间隔服从指数分布,则顾客达到过程位泊松分布,接受完服务的顾客和到达的顾客相对独立,服务时间分布为指数分布。且顾客的到达和服务都是随机的,服务台一个,排队空间无限。
下面是性能计算中的两个公式:
平均利用率 = 平均到达事务数/平均处理事务数
平均响应时间 = 平均处理时间/1-平均利用率
例如,假设计算机系统的用户在1秒内发出40个请求,这些请求的时间间隔按指数分布,系统平均服务时间为20毫秒。则该系统的吞吐量为1000毫秒/20毫秒 = 50,系统平均利用率=40/50 = 0.8
系统平均响应时间 = 20/(1-0.8) = 100毫秒。