一种提高Unixbench测试分数的方法

简介: 一种提高Unixbench测试分数的方法

Unixbench性能测试,在直接执行Run脚本后,将会进行12个子测试题的测试,它们分别是"dhry2reg", "whetstone-double","execl", "fstime", "fsbuffer", "fsdisk", "pipe", "context1", "spawn","syscall","shell1", "shell8"。对于这12个子测试题,这里就不一一介绍了。

我们今天主要关注的是"fstime", "fsbuffer", "fsdisk"这三项测试,这三项测试主要是测试系统采用不同的缓存大小将文件数据从一个文件被传输到另外一个文件的性能,通过提高这三项的分数来达到提高Unixbench总分的目的。

Run脚本中指定的参数分析

下面让我们来看一下Run脚本中,这三项测试的参数吧:

fstime.PNG

fsbuffer.PNG

fsdisk.PNG

从图中我们可以看到三项测试都是采用了fstime这个测试命令执行的,fstime命令使用说明如下:

fstime [-c|-r|-w] [-b <bufsize>] [-m <max_blocks>] [-t <seconds>] [-d <tmpdir>]

fstime.c源码分析

从main函数入口,首先是参数解析,如下图:

args.PNG

由上图和Run脚本中的参数可知,测试时指定了测试类型为c,测试时间为30s,测试目录为Run脚本中TMPDIR所指定的目录,并且还指定了缓存大小和块的数量。在测试执行之前先会在-d所指定的目录下创建dummy0和dummy1两个文件,代码中的定义如下:

dummy.PNG

当测试类型指定为c时,将执行以下代码:

ctest.PNG

  • w_test(2):在2s的时间内以指定的缓存大小往dummy0中写
  • r_test(2):在2s的时间内以指定的缓存大小从dummy0中写读
  • c_test(30):在30s的时间内以指定的缓存大小从dummy0中读,往dummy1中写。

提高分数的方法

这三项测试主要是在磁盘文件中进行读写操作,文件位置由Run脚本中的TMPDIR决定,而TMPDIR又可根据系统中UB_TMPDIR环境设置。如下图所示:

ub_tmp.PNG

因此,可在系统环境变量中设置UB_TMPDIR为/dev/shm。

/dev/shm这个目录是linux下一个利用内存虚拟出来的一个目录,这个目录中的文件都是保存在内存中,而不是磁盘上。其大小是非固定的,即不是预先分配好的内存来存储的。

这样这三项测试将跑在内存上,分数自然就提高啦,大家赶快动手试试吧。

目录
相关文章
|
14天前
|
敏捷开发 测试技术 持续交付
软件测试中的探索性测试方法及其重要性
【8月更文挑战第6天】在软件开发周期中,测试环节是不可或缺的。它确保了产品的质量、性能与可靠性。然而,传统的测试方法往往侧重于预设的测试用例和场景,可能忽略了用户实际使用过程中的非预期行为。探索性测试(ET)应运而生,它强调测试人员的自主性和创造性,通过不断学习和适应来发现软件的潜在缺陷。本文将探讨探索性测试的概念、实施策略及其在现代软件开发中的重要性。
|
13天前
|
SQL 安全 测试技术
[go 面试] 接口测试的方法与技巧
[go 面试] 接口测试的方法与技巧
|
15天前
|
测试技术 持续交付
探索式测试:一种灵活的软件质量保证方法
在软件测试领域,探索式测试是一种与传统脚本测试截然不同的方法。它强调测试人员的自主性与创造性,允许他们在执行测试时即时设计和执行测试用例。这种方法的灵活性和适应性使其成为发现复杂软件系统中难以预测的错误的有效手段。本文将深入探讨探索式测试的核心概念、实施策略以及它在现代软件开发生命周期中的价值。
32 4
|
15天前
|
敏捷开发 测试技术
探索式测试:一种高效灵活的质量保证方法
在软件生命周期中,确保产品质量是至关重要的一环。传统的测试方法往往依赖于预设的测试用例,而忽视了测试过程中的灵活性和创造性。本文将介绍一种与传统测试截然不同的方法—探索式测试,它强调个人技能与经验的应用,鼓励测试人员发挥主观能动性,通过不断探索来发现更多潜在的软件缺陷。文章将详细阐述探索式测试的核心概念、实施步骤及其在现代软件开发中的实际应用案例,旨在为读者提供一种更为高效和灵活的测试策略。
|
21天前
|
测试技术
软件测试中的探索性测试方法
在软件开发周期中,测试环节扮演着至关重要的角色。本文将深入探讨一种灵活而高效的测试方法——探索性测试。我们将通过具体实例分析其实施过程,并讨论如何通过这种方法提高软件质量和测试效率。最后,我们提出一个开放性问题,邀请读者思考探索性测试在他们工作中的实际应用和潜在价值。 【7月更文挑战第31天】
|
22天前
|
敏捷开发 测试技术
软件测试中的探索性测试:一种灵活的质量保证方法
在软件开发周期中,测试是确保产品质量的关键步骤。传统的测试方法往往依赖于事先定义好的测试用例,但这种方法可能无法覆盖所有潜在的缺陷和场景。探索性测试(ET)作为一种更为灵活的测试方式,允许测试人员在执行测试的同时设计和适应测试用例,从而提高了测试覆盖率并发现更多隐藏的缺陷。本文将探讨探索性测试的核心概念、实施策略以及与传统测试方法的比较,旨在为软件测试专业人员提供一种更高效、适应性强的测试手段。
|
5天前
|
测试技术
单元测试问题之在单元测试中,方法的返回值或异常,如何验证
单元测试问题之在单元测试中,方法的返回值或异常,如何验证
|
5天前
|
测试技术
单元测试问题之模拟一个无返回值的方法,如何操作
单元测试问题之模拟一个无返回值的方法,如何操作
|
25天前
|
测试技术 UED
软件测试中的探索式测试方法
在软件开发的生命周期中,测试环节扮演着至关重要的角色。传统的测试方法往往依赖于预设的脚本和场景,而探索式测试则提供了一种更为灵活和动态的测试方式。通过结合测试人员的经验和直觉,探索式测试能够更有效地发现软件中的潜在问题。本文将深入探讨探索式测试的核心概念、实施步骤及其在现代软件开发中的应用价值。
|
27天前
|
Java 数据库 Spring
Java编程问题之在测试中使用CGLIB创建代理类如何解决
Java编程问题之在测试中使用CGLIB创建代理类如何解决