免费智能真题库 > 历年试卷 > 软件评测师 > 2012年下半年 软件评测师 下午试卷 案例
  第1题      
  知识点:   负载压力测试   压力测试   CPU   响应时间

 
某酒店预订系统有两个重要功能:检索功能和预订功能。检索功能根据用户提供的关键字检索出符合条件的酒店列表;预订功能是对选定的某一酒店进行预订。现需要对该系统执行负载压力测试
该酒店预订系统的性能要求为:
(1)交易执行成功率100%;
(2)检索响应时间在3s以内;
(3)检索功能支持900个并发用户;
(4)预订功能支持100个并发用户;
(5) CPU利用率不超过85%;
(6)系统要连续稳定运行72小时。
 
问题:1.1   简述该酒店预订系统在生产环境下承受的主要负载类型。
 
问题:1.2   对该系统检索功能执行负载压力测试,测试结果如表1-1所示,请指出响应时间和交易执行成功率的测试结果是否满足性能需求并说明原因。
 
问题:1.3   对该系统执行负载压力测试,测试结果如表1-2所示,请指出CPU占用率的测试结果是否满足性能需求并说明原因。
 
问题:1.4   根据【问题2】和【问题3】的测试结果,试分析该系统的可能瓶颈。
 
 
 

   知识点讲解    
   · 负载压力测试    · 压力测试    · CPU    · 响应时间
 
       负载压力测试
        性能是用户经常会遇到的一个棘手的问题,也可能是Web系统在投入实际使用以前最为关心的问题。
        Web系统的性能包含哪些方面呢?
        . 客户端向服务器发出一个请求。
        . 服务器分配请求并进行处理。
        . 服务器把处理的结果反馈给客户端。
        . 客户端对结果进行分析,显示出来或进一步执行。
        从这个过程可以看出,由于客户端是一个单独的个体,几乎不会出现性能问题,而服务器为了响应多个客户端的请求,有可能出现响应错误、响应缓慢、数据丢失等错误。
        用户连接到Web应用系统的速度根据上网方式的变化而变化,他们或是电话拨号,或是宽带上网。当下载一个程序时,用户可以等较长的时间,但如果仅仅访问一个页面就不会这样。如果Web系统响应时间太长,用户就会因没有耐心等待而离开。另外,有些页面有超时的限制,如果响应速度太慢,用户可能还没来得及浏览内容,就需要重新登录了。而且,连接速度太慢,还可能引起数据丢失,使用户得不到真实的页面。
        负载测试是为了测量Web系统在某一负载级别上的性能,以保证Web系统在需求范围内能正常工作。负载级别可以是某个时刻同时访问Web系统的用户数量,也可以是在线处理的数据量。例如,Web应用系统能允许多少个用户同时在线;如果超过了这个数量,会出现什么现象;Web应用系统能否处理大量用户对同一个页面的请求。负载测试应该安排在Web系统发布以后,在实际的网络环境中进行测试。
        进行压力测试是指实际破坏一个Web应用系统,测试系统的反映。压力测试是测试系统的限制和故障恢复能力,也就是测试Web应用系统会不会崩溃,在什么情况下会崩溃。
        一般压力测试包含如下步骤:
        . 确定交易执行响应时间。
        . 估计Web系统能够承受的最大并发用户数量。
        . 模拟用户请求,以一个比较小的负载开始,逐渐增加模拟用户的数量,直到系统不能承受负载为止。
        . 如果负载没有达到需求,那么应该优化这个Web程序。
 
       压力测试
        压力测试是通过逐步增加系统负载,测试系统性能的变化,并最终确定在什么负载条件下系统性能处于失效状态,并以此来获得系统能提供的最大服务级别的测试。通俗地讲,压力测试是为了发现在什么条件下系统的性能会变得不可接受。
        可见,压力测试是一种特定类型的负载测试。例如,访问一个页面的响应时间规定为不超过1秒,负载测试就是测试在响应时间为1秒时,系统所能承受的最大并发访问用户的数量,而压力测试就是测试系统在多大的并发访问用户数量下,响应时间不可接受,例如超过1分钟(定义为失效状态)。
 
       CPU
        CPU即中央处理器,它是计算机系统的核心部分。刚才所列的系统性能评价指标都是围绕CPU的。当然,这些指标的评价结果是建立在CPU与其他系统部件(如内存)的协同工作的基础上的。单就CPU而言,考察它在系统中的工作性能要关注CPU利用率、队列长度、每秒中断次数,等。
 
       响应时间
        系统响应时间是指用户发出完整请求到系统完成任务给出响应的时间间隔。处于系统中不同的角色的人,对响应时间的关注点是不一样的。从系统管理员的角度来看,系统响应时间指的是服务器收到请求的时刻开始计时,到服务器完成执行请求,并将请求的信息返回给用户这一段时间的间隔。这个“服务器”包含的范围是给用户提供服务的接口服务器,中间的一些业务处理的服务器和排在最后面的数据库服务器。这里并不包含请求和响应在网络上的通信时间。
        从用户的角度来看,响应时间是用户发出请求开始计时,(如按下“确认”或Enter键的时刻),到用户的请求的相应结果展现在用户机器的屏幕的时候的这一段时间的间隔。这个时间称为“客户端的响应时间”,它等于客户端的请求队列加上服务器的响应时间和网络的响应时间的总和。可以看出,从用户角色感受的“响应时间”是所有响应时间中最长的,很多影响因素不在应用系统的范围内,如数据包在网络上的传输时间、域名解析时间等。
        响应时间超出预期太多的应用系统会导致用户的反感,因为系统在让他们等待,这样会降低他们的工作效率,延长他们的工作时间。位于互联网上的Web网站也存在同样的问题,有调查表明,如果一个Web网页不能在8秒钟内下载到访问的用户端,访问者就会失去耐性,他们有的尝试其他同类型的网站,有的可能访问竞争者的网站,并且可能影响他们圈子里面的人访问这个网站的兴趣和取向。对于一个指望这些访问者变为客户的网站站点而言,响应时间带来的后果等同于销售额的损失。
        系统的响应时间对每个用户来说都是不一样的,以下因素会影响系统的平均响应时间:
        (1)和业务相关,处理不同的业务会有不同的响应时间。
        (2)和业务组合有关,业务之间可能存在依赖关系或其他,也会相互影响。
        (3)和用户的数量有关,大并发量会严重影响应时间。
        有多种方法可以用来测试响应时间,常用的有两种方法,分别是首字节响应时间和末字节响应时间。首字节响应时间是指向服务器发送请求与接收到响应的第一个字节之间的时间,末字节响应时间是指向服务器发送请求与接收到响应的最后一个字节之间的时间。通过测量响应时间,可以知道所有客户端用户完成一笔业务所用的时间以及平均时间、最大时间。
        米勒曾经给出了3个经典的有关响应时间的建议,至今仍有参加价值:
        (1)0.1秒:用户感觉不到任何延迟。
        (2)1秒:用户愿意接受的系统立即响应的时间极限。即当执行一项任务的有效反馈时间在0.1~1秒之内时,用户是愿意接受的。超过此数据值,则意味着用户会感觉到有延迟,但只要不超过10秒,用户还是可以接受的。
        (3)10秒:用户保持注意力执行本次任务的极限,如果超过此数值时仍然得不到有效的反馈,用户会在等待计算机完成当前操作时转向其他的任务。
   题号导航      2012年下半年 软件评测师 下午试卷 案例   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
 
第1题    在手机中做本题