阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。【说明】某酒店预订系统有两个重要功能:检索功能和预订功能。检索功能根据用户提供的关键字检索出符合条件的酒店列表;预订功能是对选定的某一酒店进行预订。现需要对该系统执行负载压力测试。
该酒店预订系统的性能要求为:
(1)交易执行成功率100%;
(2)检索响应时间在3s以内;
(3)检索功能支持900个并发用户;
(4)预订功能支持100个并发用户;
(5)CPU利用率不超过85%;
(6)系统要连续稳定运行72小时。
【问题1】简述该酒店预订系统在生产环境下承受的主要负载类型。
【问题2】对该系统检索功能执行负载压力测试,测试结果如表1-1所示,请指出响应时间和交易执行成功率的测试结果是否满足性能需求并说明原因。
【问题3】对该系统执行负载压力测试,测试结果如表1-2所示,请指出CPU占用率的测试结果是否满足性能需求并说明原因。
【问题4】根据【问题2】和【问题3】的测试结果,试分析该系统的可能瓶颈。
参考答案:
【问题1】该酒店预订系统在生产环境下承受的主要负载类型有:1)并发用户数属于并发执行负载。2)连续稳定运行72小时属于疲劳强度负载。3)大量检索操作属于大数据量负载。
【问题2】测试结果不满足性能指标。当并发用户数为900时,响应时间为3.7s,不满足响应时间小于3s的要求;当并发用户数为1000时,响应时间为6.6s,交易成功率为98%,但要求检索功能的并发用户数最多为900,当用户数为1000时,不能算作不满足。
【问题3】测试结果不满足性能指标。当900个检索并发用户和100个预订并发用户时,CPU利用率超过85%;要求检索功能支持900个并发用户,预订功能支持100个并发用户,所以在1000个检索并发用户和120个预订并发用户时CPU占用率超过85%不能算不满足。
【问题4】(1)系统没有采用合适的并发/并行策略。(2)服务器CPU性能不足。(3)数据库设计不足或者优化不够。(4)服务器网络带宽不足。
解析:
本题考查采用负载压力测试技术对实际系统进行测试,主要考查负载类型、测试结果的分析以及系统可能瓶颈的分析,属于比较传统的题目,考查点也与往年类似。
【问题1】本问题考查系统的负载类型。系统可能的负载类型包括并发执行负载、疲劳强度负载以及大数据量负载。针对这些负载,在进行负载压力测试时,分别需要进行并发性能测试、疲劳强度测试以及大数据量测试。 本题中,要求检索功能支持900个并发用户,预订功能支持100个并发用户,这两个功能都有并发访问的要求,这属于并发执行负载;要求系统能连续稳定运行72小时,这属于疲劳强度负载:系统存在大量并发用户进行大量的检索和预订操作,这属于大数据量负载。
【问题2】本问题考查对负载压力测试的测试结果进行分析。对检索功能来说,当检索并发用户数为900时,检索响应时间为3.7秒,不满足检索响应时间在3秒以内的要求。因此该测试结果不满足性能指标。当检索并发用户数为1000时,检索响应时间为6.6秒。而需求要求检索功能在支持900个并发用户的情况下响应时间在3秒以内,这样当1000个并发用户响应时间超出3秒时,不能算作不满足性能指标。
【问题3】本问题考查对负载压力测试的测试结果进行分析。当检索功能并发用户数为900,预订功能并发用户数为100时,CPU占用率为87.3%,不满足CPU利用率不超过85%的要求。因此该测试结果不满足性能指标。当检索功能并发用户数为1000,预订功能并发用户数为120时,CPU占用率为92.6%。而需求要求检索功能并发用户数为900,预订功能并发用户数为100的情况下,CPU利用率不能超过85%。这样当存在1000个检索功能并发用户和120个预订功能并发用户,而CPU占用率超过了85%的情况下,不能算作不满足性能指标。
【问题4】本问题考查对系统瓶颈的初步判断。 根据问题2可以看出,当并发用户数过多时,检索响应时间不满足需求。这个问题的可能原因有三个,一是该模块程序没有采用合适的并发/并行策略,二是数据库本身的设计或者优化不够,三是服务器网络带宽不足。
根据问题3可以看出,当并发用户数过多时,CPU占用率不满足需求。这个问题的可能原因是服务器CPU本身性能不够或者程序没有采用合适的并发/并行策略。
综上,根据问题2和问题3的测试结果,本系统的可能瓶颈包括:
(1)系统没有采用合适的并发/并行策略;(2)数据库设计不足或者优化不够;(3)服务器网络带宽不足;(4)服务器CPU性能不足。