扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
top 工具可用于迅速确定每个测试影响哪个资源(CPU、内存或者 I/O),并实时地显示出它们使用了多少资源。 sar 工具用于收集一段时间内的网络利用率统计数据,并将所有利用率数据的快照记录到一个文件。
当选定一个组合后,测试必须长时间运行以准确评价资源的利用率。测试运行的时间长短取决于每个测试的长度。 假如多个测试同时运行,则时间必须足够长以使得这些测试中最长的那个可以完成。在这个评价过程中,sar 工 具也应该在运行。在评价运行的结论中,您应该收集并评价所有四种资源的利用率水平。
下面的例子显示了 sar 输出的 CPU、内存和网络利用率:
分析内核代码覆盖率
获得足够的内核覆盖率是系统压力测试的另一个职责。尽管所选的测试组合充分地利用了四种主要资源,它 也有可能只是执行了内核的一小部分。因而,您应该对覆盖率进行分析以确保组合可以成为一个系统压力 测试,而不是一个系统负载生成器。当前,有两个开放源代码工具可以帮助进行 Linux 内核的代码覆盖率分析:
- gcov:一个由 Linux Test Project 维护的开放源代码工具。 这个工具分析内核代码的覆盖率,并报告哪些行、函数和分支被覆盖以及它们被访问了多少次。
- lcov:另一个由 IBM 开发,由 Linux Test Project 维护的开放源代码工具。 这个工具由一组构建于基于文本的 gcov 输出之上的 Perl 脚本构成,以实现基于 HTML 的输出。 输出包括覆盖率百分比、图表以及概述页,可以快速浏览覆盖率数据。您可以自 Linux Test Project(LTP)主页 找到这两个工具(参阅 参考资料 以获得链接)。
gcov 模块加载以后,所有运行于系统压力测试组合中的测试都必须执行。尽管原来的系统压力测试可以同时执行, 也应该同时执行,但是这次运行应该是循环进行的。每个测试都应该运行一次直到结束,一个接一个地运行, 不能重复运行任何测试。单个地、循环地运行,是为了减少在同时运行多个系统压力测试时,内核尝试 去平衡它们的负载而导致的不可预知的和无目的的内核代码执行。您应该在最后一个测试运行结束后再进行 gcov 分析。由于最终是要格式化数据以进行分析,所以运行 lcov 工具并?载 gcov 模块。
lcov 工具会生成一棵完整的 HTML 树,其中包含有内核中代码的每一行以及关于每一行执行了 多少次的数据(如果有的话)。这个工具会量化覆盖率数据并生成关于内核中每一部分和 文件覆盖率的百分比数字。 |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者