IT培训网 - IT职场人学IT技术上IT培训网
简述软件系统性能指标主要包括哪些方面
时间:2019-06-28 10:02:05 来源:技能培训网 作者:IT培训网 已有:名学员访问该课程
软件系统性能指标可以衡量一个软件系统的运行效果,有关软件系统性能指标主要包括哪些方面呢?大致包括:时间效率、空间效率、事务操作性能、IO性能、数据库性能、内存性能、初始化/退出时间、资源利用率等,这些都是软件系统性能指标的主要参考依据,下面一起来看看具体的软件系统性能指标有哪些细节吧!
软件系统性能指标主要有哪些方面?
1、事务处理时间:指软件中完成一项事物所需的运行时间。一般主要用来评价事务处理的效率,通常事务处理时间越短,则效率越高。属于时间效率的范畴。
2、最大的事务处理时间:服务器软件中,最大事务处理时间是一个很重要的性能指标,因为如果某项事务处理时间过多的话,将很容易受到DOS型的攻击。要测试最大事务处理时间需要先分析一下哪些事务耗时比较多,然后再将这些事务所花费的时间分别测试出来,花费时间最多的就是最大的事务处理时间。
3、事务操作时间:主要用来评价需要用户进行操作的事务处理需要花费的时间,主要体现了用户操作方面的效率。测试事务操作时间时,需要一个好的计时器(如秒表之类的东西),需要多测试几次,最好测试多个不同的人花费的时间,最后取平均值即可。
4、IO性能:本文指物理磁盘的IO性能,衡量IO性能的主要指标是单位时间内的读写数据数量,比如磁盘每秒钟读取的数据字节数、每秒写入的数据字节数。硬盘发展速度没有赶上CPU的发展速度,所以,如果一个软件需要操作磁盘的话,最好测试一下IO方面的性能。
程序的实现对IO性能也有很大影响,比如写一个文件,多次写入小块数据就不如一次写入一大块数据高效。当然IO不局限于磁盘IO,网络IO和其他硬件设备IO都属于IO的范畴,如果程序使用了某个IO的通道,那么就需要做一下这方面的IO性能测试。IO测试可以在白盒测试时设计专门的测试用例进行测试,也可以在黑盒测试时做,黑盒测试由于操作上要花时间,存在误差,所以不如白盒测试准确。
5、数据库性能:一般包括查询、插入、删除、更新数据库数据等所花费的时间。需要使用数据库的软件中,数据库性能往往容易成为软件中的性能瓶颈。提高数据库性能能通常通过规范数据表以减少相互依赖或者通过增加数据库服务器的数量来解决,数据库性能测试也可以采用百合测试的方法来进行。
6、空间利用率:是指有效数据占用的空间和整个是用的空间的比例。比如,定义了一个字符数组大小为1024字节,但是程序中只拷贝了一个“Hello!”字符串到数组里,那么有效数据占用的内存为7字节,而实际使用的内存空间却有1024字节。在这种情况下空间利用率就是7/1024。
空间利用率可以用以下公式来计算:空间利用率=实际使用的空间/占用的总空间
测试空间利用率比较困难,一般只能在白盒测试时有针对性地编写专用的测试代码进行统计。比如内存管理中,可以使用HOOK技术来记录总共分配了多少块内存,再将每块内存的实际使用大小保存起来,在计算每块内存的分配尺寸,最后根据上述公式计算实际使用的大小总数和分配大小的总数就可以得出空间利用率。
7、最大消耗的内存量:指软件在运行过程中需要消耗的最大内存数量(单位:kb),这个指标标示着应该配置什么级别的硬件才能运行软件,是硬件成本的直接反映。
要测试最大消耗的内存量,可以通过性能监视器来进行,不过最好的方法是自己编写一个内存监测工具,先让工具记录下初始系统剩余内存大小,然后运行软件,通过监测工具自动记录系统剩余内存大小,由工具计算出整个系统过程中系统最小的剩余内存,用把初始系统剩余内存减去最小的系统剩余内存就得到了最大的内存消耗量。
8、高峰内存时间:是指软件在高峰内存消耗时期所运行的时间。如果软件在高峰期使用的内存和系统的总内存比较接近的话,软件的效率将会大大降低。作者在《多任务下的数据结构与算法》一书中讲述了动态等尺寸内存管理算法,当到了内存使用高峰期后,如果释放掉很多使用过的内存,占用系统的内存也会跟着释放一部分,对于缩减软件的高峰内存时间有很好的帮助。
9、初始化/退出时间:初始化时间是指软件初始化所花费的时间,比如,对于客户端软件,就是在从运行开始直到用户可以操作的时间。服务器软件是指从运行开始到服务器可以开始处理客户端的服务请求的时间。
退出时间包括软件正常结束情况下的退出和非正常结束情况下的退出所花费的时间。衡量退出性能主要有两个指标,一个事能不能在任何情况下退出,另一个是退出花费的时间是多少。不论在正常结束还是非正常结束的情况下,软件都应该以较快的速度退出。现在软件一般都采用多任务架构的,当有任务在运行时,需要等待正在操作的任务结束后才能退出。在《多任务下的数据结构与算法》一书中讲述了一个多任务下的退出算法,采用此算法可以让软件很快退出而不需要等待很长的时间。
10、CPU 利用率:CPU利用率属于资源利用率的一种,对于单核CPU系统来说:CPU利用率=总时间-CPU空闲时间/程序运行总时间
对于多核或多CPU机器来说,要分别统计每个CPU的利用率,再计算平均值。在Windows操作系统上可以通过性能监视器来观察每一个CPU的利用率曲线。
CPU利用率对不同的软件意义不同,在分时系统中,客户端软件一般要求CPU利用率不能太高,必须留一些CPU给其他应用程序使用。而在服务器软件中,一般要求CPU利用率要高一些,否则会造成其他硬件资源浪费。
每期开班座位有限.0元试听抢座开始!
温馨提示 : 请保持手机畅通,咨询老师为您
提供专属一对一报名服务。
- 上一篇:详细解析Python爬虫的抓取技术
- 下一篇:常用的数据存储类工具有哪些