基准软件测试原理,基准测试

基准测试是指通过设计科学的测试方法、测试工具和测试系统,实现对一类测试对象的某项性能指标进行定量的和可对比的测试。

中文名

基准测试

外文名

Benchmark Test别    名

BMT

特    点

设计科学的测试方法

基准测试测试介绍

编辑

语音

基准测试是[1]

指通过设计科学的测试方法、测试工具和测试系统,实现对一类测试对象的某项性能指标进行定量的和可对比的测试。例如,对计算机CPU进行浮点运算、数据访问的带宽和延迟等指标的基准测试,可以使用户清楚地了解每一款CPU的运算性能及作业吞吐能力是否满足应用程序的要求;

再如对[2]

数据库管理系统的ACID(Atomicity, Consistency, Isolation, Durability, 原子性、一致性、独立性和持久性)、查询时间和联机事务处理能力等方面的性能指标进行基准测试,也有助于使用者挑选最符合自己需求的数据库系统。

从以上两个例子我们可以看出,可测量、可重复、可对比是基准测试的三大原则,其中可测量是指测试的输入和输出之间是可达的,也就是测试过程是可以实现的,并且测试的结果可以量化表现;可重复是指按照测试过程实现的结果是相同的或处于可接受的置信区间之内,而不受测试的时间、地点和执行者的影响;可对比是指一类测试对象的测试结果具有线性关系,测试结果的大小直接决定性能的高低。

对于可[3]

再现性,基准测试是最好的方法。

在开发阶段前期,应该使用基准测试来确定应用程序中是否出现性能倒退。基准测试可以在一个相对短的时间内收集可重复的结果。进行基准测试的最好方法是,每次测试改变一个且只改变一个参数。例如,如果想知道增加JVM内存是否会影响应用程序的性能,就逐次递增JVM内存(例如,从1024 MB增至1224 MB,然后是1524 MB,最后是2024 MB),在每个阶段收集结果和环境数据,记录信息,然后转到下一阶段。这样在分析测试结果时就有迹可循。

基准测试的关键是要获得一致的、可再现的结果。可再现的结果有两个好处:减少重新运行测试的次数;对测试的产品和产生的数字更为确信。使用的性能测试工具可能会对测试结果产生很大影响。假定测试的两个指标是服务器的响应时间和吞吐量,它们会受到服务器上的负载的影响。服务器上的负载受两个因素影响:同时与服务器通信的连接(或虚拟用户)的数目,以及每个虚拟用户请求之间的考虑时间的长短。很明显,与服务器通信的用户越多,负载就越大。同样,请求之间的考虑时间越短,负载也越大。这两个因素的不同组合会产生不同的服务器负载等级。记住,随着服务器上负载的增加,吞吐量会不断攀升,直到到达一个点。

当软件系统中增加了1个新模块,此时需要做基准测试,以判断新的模块对整个软件系统的性能影响。

基准测试测试步骤

编辑

语音

基准测试观察

我们假设系统管理员购买了一台服务器,现在看看它的最佳性能。第一步是确定服务器预期任务。其将作为一个虚拟平台还是运行一个专门的应用程序?确定这些问题之后,就可以开始基准测试了。切记,测量标准和基准测试将根据测试内容和使用的设备而有所变化。例如,如果作为数据库系统可能会强调处理器测试,而用于网络服务系统的话可能会突出网络性能。

基准测试假设

在这个步骤,工程师设定一个基准目标。假设什么或者测试需要完成什么?简单地进行一个度量测试将得出一些试验结果,但是没有方向或明确的目标的话,这些结果可能是无用的。为测试创建一个基本的目标,并且所有的测试方法都围绕这个目标。例如,工程师可能会设法测试其占用的内存以让应用程序处于最佳运行状态。他或她可能因此推测,给定“X”内存大小可以达到最佳工作负载。这可以立足于以前的研究,供应商提供的基准或其他的来源。确保你的假设是可测试的。也就是说,不要提出一个只是基于数据的而基准测试却无法证实的假设。

基准测试预测

接下来,对服务器基准测试做一个大体预测。假设该设备将被作为一个专门的应用服务器。系统管理员能够预测,为工作负载增加额外的核心,设备性能将提升,同样,应用程序的性能也将会改善。在某些情况下,工程师甚至可以预测改善的比例,并希望通过基准测试进行验证。

基准测试环境控制

变量设置。例如,可能要给服务器分配一些核心。此时,管理员每次应只更改一个设置,直到他或她能够接受在此基础上的性能变化。工程师可能需要给服务器设置为6GB的内存,并测试其与其他设备相互配合的情况(CPU、影像、硬盘以及相关联的设备)。设置不同的变量,包括修改处理器设置,但其他设置都处于最初状态。

基准测试测试

变量都设置好之后,现在开始进行测试。从基准线开始进行测试(已知的起点),并有系统地调整服务器设置。每个测试序列都会有一个结果,记录结果以便以后引用。在这种情况下,一个测试序列可看做是一次硬件设置更改。每应用一次新的设置,都必须重新进行测试并记录结果。一旦有足够的运行周期,工程师应该有一份完整的数据以完成他们的推论。

基准测试推论和结论

进行测试并确认应用程序的实际性能以及给定预计资源或设置后的性能。例如,在只有一半数量的预期核心后,确定应用程序的最佳运行效果。从这点起,确定核心与其他当前变量(所需的内存大小、当前运行的应用程序数量、软件升级/服务包等)结合给服务器提供的最佳性能。注意,任何变量的改变都需要进一步实验。

基准测试测试的局限性

编辑

语音

基准测试不能替代好的设计,不管是混合存储还是全闪阵列,只要能正确补充存储,终端用户都会获得足够高的IOPS尽管后端磁盘性能可能不够而造成缓存不中等。因此,需要充分发挥每个存储层级的性能以补偿缺陷。

特别是遇到混合存储的时候,需要考虑的一点即是性能上的短板效应。正因为如此,无需快速访问的数据应该放在相对稳定一些的后端磁盘上。比如说在一些时候,后端如果使用了15000转速的磁盘,即便前端缓存大小适中也妨碍不大。

如果这样的话全闪存阵列则更为容易去衡量及评估因为不再需要考虑多级存储之间的关系。在这种情况下,需要了解SLC及MLC两种闪存之间的区别。虽然MLC较SLC慢,需要知道的是即便如此,其比传统硬盘还是会快很多。在许多场景下,MLC也许就足以满足加速的需求。

参考资料

1.

基准测试​

.知网[引用日期2017-04-06]

2.

数据库管理系统

.知网[引用日期2017-04-06]

3.

再现性

.知网[引用日期2017-04-06]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值