对Linux内核进行压力测试


  Linux 标准测试的设计过程

  自动软件测试让您可以在一段时间内运行相同的测试,从而确保您所比较的内容具备真正的可比性。在本文中,Linux Test Project 团队的成员们分享了他们对 Linux? 内核进行压力所使用的测试的方法、原理以及脚本和工具。

  在对 Linux 内核版本稳定性的测试中,需要明确地声明并证明为什么版本是稳定的或者是不稳定的。然而还没有被证明和证实当前现有的系统范围内的压力测试可以测试 Linux 内核整体上的稳定性。本文给出了一个创建系统范围内 Linux 压力测试并证明其结果正确性的方法。不同的 Linux 开发者、用户和发行版本会使用他们自己的方法来测试内核的稳定性。不过,关于他们决定运行哪些测试、覆盖的代码、达到的压力级别等的基础信息都没有发布,这就大大降低了结果的价值。

  使用实验室的机器以及来自 Linux Test Project 测试套件的测试,我们基于系统资源的利用率统计开发了一个测试的组合,为系统提供足够的压力。我们对这个组合测试进行了分析,以确定 Linux 内核的哪些部分在测试执行中得到了使用。然后,我们修改了组合测试,在保持期望的高强度系统压力的同时提高代码覆盖率的百分比。最终得到的压力测试涵盖了 Linux 内核的足够多部分,有助于稳定性声明,并且有系统使用情况和内核代码覆盖情况的数据来支持它。

  这一组合测试方法的四个步骤是:测试选择、系统资源利用率评价、内核代码覆盖分析以及最终的压力测试评价。

  选择测试

  测试选择包括选择达成两方面目的的测试:

  测试应该可以得到 CPU(s)、内存、I/O 和网络等主要内核区域的高水平的资源利用率。

  测试应该充分地覆盖内核代码,以帮助支持自其结果中生成的稳定性声明。

  只要有可能,都要使用自动化的或者易于修改的测试,以支持自动操作。自动操作可以使得测试更快而且可以重复进行,并帮助降低人为错误的风险。选择合适的测试时需要考虑的另一个方面是,使用可以自由发布结果的应用程序。最好是选择坚决拥护开放源代码方法和/或 GPL 的测试和测试套件,以助于确保发布过程的简便。

  • 1
  • 2
  • 3
  • 4
  • 下一页

相关内容