科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道Linux内核和核心OS组件的测试与分析 (2)

Linux内核和核心OS组件的测试与分析 (2)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

pSeries 650 (LPAR) Model 7038-6M2 2 - POWER4+(TM) 1.2GHz 8GB (8196MB) 36GB U320 IBM Ultrastar(有其他硬盘,但没有使用) 1GB 以太网控制器:AMD PCnet32

作者:赛迪网技术社区 来源:赛迪网技术社区 2007年10月18日

关键字: 测试 核心 内核 Linux

  • 评论
  • 分享微博
  • 分享邮件
 

测试基础设施

硬件与软件环境

系统 处理器 内存 硬盘 交换分区 网络

pSeries 650 (LPAR) Model 7038-6M2 2 - POWER4+(TM) 1.2GHz 8GB (8196MB) 36GB U320 IBM Ultrastar(有其他硬盘,但没有使用) 1GB 以太网控制器:AMD PCnet32

pSeries 630 Model 7026-B80 2 - POWER3(TM)+ 375 MHz 8GB (7906MB) 16GB 1GB 以太网控制器:AMD PCnet32

pSeries 630 Model 7026-B80 和 pSeries 650 (LPAR) Model 7038-6M2 上的软件环境是相同的。

组件 版本

Linux SuSE SLES 8 with Service Pack 1

内核 2.4.19-ul1-ppc64-SMP

LTP 20030514

方法学

系统的稳定性和可靠性通常以连续运转时间和系统的可靠运行时间来度量。

最初运行的是一组为期 30 天的基线运转,然后增加到 60 天和 90 天的 xSeries 和 pSeries 服务器上的 Linux 测试运转。初始重点在于内核、网络和 I/O 测试。

测试工具

Linux Test Project(即 LTP;参考资料 中有链接和更多信息)是 SGI、IBM、OSDL、Bull 和 Wipro Technologies 合作的项目,目的是为开放源代码团体提供测试套件,以测试 Linux 的可靠性、健壮性和稳定性。Linux Test Project 是测试 Linux 内核和相关部件的工具的集合。目的是通过使内核测试工作自动化来帮助改进 Linux 内核。

当前,在 LTP 套件中有超过 2000 个测试用例,涵盖了内核的大多数接口,比如系统调用、内存、IPC、I/O、文件系统和网络。测试套件每月都会更新发布,可以运行于多种体系结构上。已知的 LTP 测试套件测试过的体系结构有 11 种,包括 i386、ia64、PowerPC、PowerPC 64、S/390、S/390x (64bit)、MIPS、mipsel、cris、AMD Opteron 和嵌入式体系结构。我们的可靠性测试中使用的 LTP 版本是 20030524,这是当时可以获得的最新版本。

测试策略

在基线运转中有两个特别的阶段:一个 24 小时的“初始测试”,接下来是压力可靠性运转阶段,或者说是“压力测试”。

通过初始测试是开始测试的必要条件。初始测试包括 LTP 测试套件在硬件和操作系统上 24 小时的成功运转,这些硬件和操作系统将用于可靠性运转。LTP 测试套件包附带的驱动程序脚本 runalltest.sh 用于验证内核。这个脚本串行地运行一组成包的测试,并报告全部结果。也可以选择同时并行地运行几个实例。默认地,这个脚本执行:

* 文件系统压力测试。

* 硬盘 I/O 测试。

* 内存管理压力测试。

* IPC 压力测试。

* 调试器测试。

* 命令功能的验证测试。

* 系统调用功能的验证测试。

压力测试可以验证产品在系统高使用率时的健壮性。作为 runalltest.sh 的补充,特别设计了一个名为 ltpstress.sh 的测试场景,在使用网络与内存管理的同时并行地运行大范围的内核组件,并在测试系统上生成高压力负荷。ltpstress.sh 也是 LTP 测试套件的一部分。这个脚本并行地运行相似的测试用例,串行地运行不同的测试用例,这样做是为了避免由于同时访问同一资源或者互相干扰而引起的间歇性故障。默认地,这个脚本执行:

* NFS 压力测试。

* 内存管理压力测试。

* 文件系统压力测试。

* 数学 (浮点) 测试。

* 多线程压力测试。

* 硬盘 I/O 测试。

* IPC (pipeio, semaphore) 测试。

* 系统调用功能的验证测试。

* 网络压力测试。

系统监控

LTP 测试套件附带的修改过的 top 工具用作系统监控工具。使用 top 可以实时地观察处理器的行为。改进的 top 工具具有附加的功能,可以将 top 结果的快照保存到文件中,并给出结果文件的平均总结,包括 CPU、内存和交换空间利用率等信息。

在我们的测试中,每 10 秒钟截取一次系统利用率(或者 top 输出文件)的快照,并保存到结果文件。另外,每天或每周要处理系统利用率的快照和 LTP 测试输出文件并得到数据分数,以确定系统在长时间运转中性能是否下降。此功能由 cron 作业和脚本控制。

测试之前

所有选定的测试系统的硬件配置尽可能相同。去掉了额外的硬件以减少潜在的硬件故障。在映像安装过程中选择最低的安全选项。预留至少 2 GB 的硬盘空间以保存 top 数据文件和 LTP 日志文件。

注意,这是一个测试场景;现实生活中,最好建议用户保持安全设置远高于最低设置。

测试期间

在测试期间系统不要受到干扰。偶尔访问一下系统以确认测试仍在进行是可以接受的。确认的手段包括使用 ps 命令、检查 top 数据和检查 LTP 日志数据。

测试之后

当测试结束后,系统监控工具 top 立刻停止。所有的 top 数据文件,包括每天或每周的快照和 LTP 日志文件,都被保存并处理,以便为分析提供数据。

结束语

本文论述的结果基于一个在实验室环境下创建并测试的解决方案。这些结果可能并不是在所有的环境中都可以得到,而且在这种环境中实现可能还需要另外的步骤、配置和性能分析。

然而,由于大部分的 Linux 内核测试工作历时都比较短,因此本系列测试为我们提供了长时间运转的第一手数据和结果。本系列测试还提供了高工作负荷压力下 Linux 内核组件以及 TCP、NFS 和其他测试组件的数据。测试证明,Linux 系统在长时间内是可靠的和稳定的,可以提供一个健壮的、企业级的环境。

参考资料

* 在 SourceForge 的 LTP Linux Test Project 主页 和 LTP 项目主页 可以找到有用的信息和链接。

* 项目的文档包括 LTP HowTo 和 LTP man pages(还有其他文档)。

* LTP 网页还提供了关于其他 Linux 测试工具 的摘要和链接。

* 访问 IBM Linux Technology Center 主页 以阅读他们最新的新闻和声明。

* IBM Linux Technology Center 项目主页 列出了工作组当前正在进行的项目。

* “Inside IBM's Linux Technology Center”(ITworld.com)和“Inside IBM: Dan Frye and the Linux Technology Center”(Consulting Times) 两篇文章更深入地介绍了 IBM LTC 的背景。

* IBM developerWorks 文章“Behind the scenes at the IBM Linux Technology Center” 也对 IBM Linux Technology Center 进行了描述。

* 在 IBM developerWorks Linux 专区 可以找到更多的关于 Linux 的开发资料。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章