阅读下列说明,回答问题1至问题2,将解答填入答题纸的对应栏内。【说明】某电子商务应用系统项目已由承建单位完成了开发工作,正在开展验收前的各项测试工作。为了保证系统上线后业务的顺畅运行,建设单位要求监理单位对承建单位的性能测试进行重点把关和审核。在性能测试过程中,监理单位重点检查了承建单位测试方案及相应的测试指标设定,保证了测试的正确性和完整性。
【问题1】(1)测试方案中设定的压力测试指标中,并发用户数是监理关注的重点内容,现假设该系统有100人同时在线,在线状态如下:
①45人填写调查问卷②30人浏览各种网页③25人在线聊天
则对服务器系统压力最大的应用是()(从下述候选答案中选择)。
A.① B.② C.③ D.无法判定
(2)监理人员需要了解性能测试相关的简单命令,比如查看内存统计的Linux命令是()(从下述候选答案中选择)。
A.vmstatB.iostatC.topD.netstat
【问题2】为保证性能测试指标的合理性,监理审核了与操作系统、数据库、应用软件等相关的性能指标,请指出这些性能指标包括哪些。
参考答案:
【问题1】(1)D(2)C
【问题2】远程处理延迟、每秒交易数量、最大用户数、CPU平均利用率、内存平均使用率、内存平均占用率。
解析:
【问题1】(1)①45人填写调查问卷,②30人浏览各种网页,③25人在线聊天这三种上网行为中,如果没有其他确定的前提,例如45人填写的是非常简单的表格、25人使用简单的聊天系统进行文字聊天,30人只是简单的浏览网页,为在很短的时间内不断的点击网页进行浏览等前提的存在,那么这三种情况对服务器造成影响的大小是无法作出评估的。在有些情况下可能聊天对服务器的压力较大,例如视频聊天,那么如果填写网络调查问卷,这个问卷系统很复杂,后台数据库的设计有很多复杂的表关联,那么添些调查表格的操作也可能对服务造成很大压力。
(2)vmstat命令报告关于内核线程、虚拟内存、磁盘、陷阱和CPU活动的统计信息。iostat命令用来监视系统输入输出设备负载,这通过观察与它们的平均传送速率相关的物理磁盘的活动时间来实现。netstat是Windows系统下的命令。top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。
【问题2】什么是软件性能?对一个软件系统而言,软件的性能是软件的一种非功能特性,它关注的不是软件是否能够完成特定的功能,而是在完成特定的功能时,展示出来的相关特性包括执行效率、资源占用、稳定性、安全性、兼容性、可扩展性、可靠性等。由于感受软件性能的主体是人,不同的人对于同样的软件能有不同的主观感受,而且不同的人对于软件性能关心的视角也不同。下面分别从用户视角、管理员视角、产品开发人员视角对软件性能进行说明。
(1)用户视角的软件性能。对用户而言,软件性能就是软件对用户操作的响应时间。用户甚至不关心响应时间中哪些是软件造成的,哪些是硬件造成的。
(2)管理员视角的软件性能。管理员首先关注普通用户感受到的软件性能。其次,管理员需要进一步关注如何利用管理功能进行性能调优,主要关注如下几点:
●系统的响应时间;
●系统运行时服务器的状态,如CPU利用情况、内存使用情况等;
●系统是否能够实现扩展;
●系统支持多少用户访问;
●系统性能可能的瓶颈在哪里;
●系统是否支持7×24小时的业务访问。
(3)产品开发人员视角的软件性能。
开发人员的视角与管理员的视角基本一致,但开发人员需要更深入地关注软件性能。希望能够尽可能地开发出高性能的软件。
●用户关心的响应时间;
●管理员关心的系统可扩展性等;
●架构设计是否合理:
●数据库设计是否合理;
●代码是否存在性能方面的问题;
●系统中是否有不合理的内存使用方式。