我将提出一个 Linux 的基本基准测试工具包。 这是综合 Linux 基准测试工具包的初步版本,有待扩展和改进。 接受它的价值,即作为一个提案。 如果您认为它不是一个有效的测试套件,请随时给我发电子邮件提出您的批评,如果可以,我将很乐意进行更改和改进。 但是,在争论之前,请阅读本 HOWTO 和提及的参考文献:欢迎知情的批评,不欢迎空洞的批评。
这只是常识
我选择了五个不同的基准测试套件,尽可能避免测试中的重叠
对于测试 4 和 5,“(部分结果)”意味着并非考虑这些基准测试产生的所有结果。
./xbench -timegoal 3 > results/name_of_your_linux_box.out
。 要获得 xStones 评级,我们必须运行一个 awk 脚本; 最简单的方法是键入 make summary.ms
。 检查 summary.ms 文件:系统的 xStone 评级位于测试期间指定的机器名称所在行的最后一列。
./Run -1
执行(每个测试运行一次)。 您将在 ./results/report 文件中找到结果。 计算 EXECL THROUGHPUT、FILECOPY 1、2、3、PIPE THROUGHPUT、基于 PIPE 的上下文切换、进程创建、SHELL SCRIPTS 和 SYSTEM CALL OVERHEAD 指标的几何平均值。
./nbench > myresults.dat
或类似命令运行测试。 然后,从 myresults.dat 中,计算 STRING SORT、ASSIGNMENT 和 BITFIELD 测试指标的几何平均值; 这是内存指标; 计算 NUMERIC SORT、IDEA、HUFFMAN 和 FP EMULATION 测试指标的几何平均值; 这是整数指标。
理想的基准测试套件将在几分钟内运行完毕,其中综合基准测试分别测试每个子系统,而应用程序基准测试则为不同的应用程序提供结果。 它还将自动生成完整的报告,并最终将报告通过电子邮件发送到 Web 上的中央数据库。
我们在这里实际上对可移植性不感兴趣,但它至少应该在所有最新的(> 2.0.0)Linux 版本和风格(i386、Alpha、Sparc...)上运行。
如果有人对以简单、容易和可靠的方式,通过一个简短的(设置和运行少于 30 分钟)测试来基准测试网络性能有任何想法,请与我联系。
除了测试之外,如果没有描述设置的表格,基准测试程序将是不完整的,所以这里是表格(遵循 comp.benchmarks.faq 的指南)
LINUX BENCHMARKING TOOLKIT REPORT FORM
CPU == Vendor: Model: Core clock: Motherboard vendor: Mbd. model: Mbd. chipset: Bus type: Bus clock: Cache total: Cache type/speed: SMP (number of processors):
RAM ==== Total: Type: Speed:
Disk ==== Vendor: Model: Size: Interface: Driver/Settings:
Video board =========== Vendor: Model: Bus: Video RAM type: Video RAM total: X server vendor: X server version: X server chipset choice: Resolution/vert. refresh rate: Color depth:
Kernel ===== Version: Swap size:
gcc === Version: Options: libc version:
Test notes ==========
RESULTS ======== Linux kernel 2.0.0 Compilation Time: (minutes and seconds) Whetstones: results are in MWIPS. Xbench: results are in xstones. Unixbench Benchmarks 4.01 system INDEX: BYTEmark integer INDEX: BYTEmark memory INDEX:
Comments* ========= * This field is included for possible interpretations of the results, and as such, it is optional. It could be the most significant part of your report, though, specially if you are doing comparative benchmarking.
测试网络性能是一项具有挑战性的任务,因为它至少涉及两台机器,一台服务器和一台客户端机器,因此设置时间是两倍,并且有更多变量需要控制等等... 在以太网网络上,我猜你最好的选择是 ttcp 包。 (待扩展)
SMP 测试是另一项挑战,任何专门为 SMP 测试设计的基准测试都很难证明其在实际环境中的有效性,因为可以利用 SMP 的算法很难找到。 Linux 内核的更高版本(> 2.1.30 或左右)似乎将进行“细粒度”多处理,但目前我没有更多信息。
根据 David Niemi 的说法,“ ... shell8 [Unixbench 4.01 基准测试的一部分]在比较 SMP 和 UP 模式下的类似硬件/操作系统方面做得很好。”