GitHub地址:https://github.com/phoronix-test-suite/phoronix-test-suite/?tab=readme-ov-file
# 列出所有的命令选项
phoronix-test-suite
# 查看所有支持的测试项
phoronix-test-suite list-available-tests
# 查看所有支持的测试套件
phoronix-test-suite list-available-suite
# 查看所有保存的测试结果
phoronix-test-suite list-save-results
# 查看所有已安装的测试
phoronix-test-suite list-install-tests
# 常用命令:
$ phoronix-test-suite list-available-tests 查看所有支持的测试项
$ phoronix-test-suite list-available-suite 查看所有支持的测试套件
$ phoronix-test-suite list-save-results 查看所有保存的测试结果
$ phoronix-test-suite lis-install-tests 查看所有已安装的测试
$ phoronix-test-suite show-result result-file 查看测试结果
$ phoronix-test-suite result-file-to-pdf result-file 将结果文件转化为pdf格式
$ phoronix-test-suite result-file-to-json result-file 将结果文件转化为json格式
$ phoronix-test-suite result-file-to-text result-file 将结果文件转化为text格式
$ phoronix-test-suite run pts/cpu 运行pts/cpu测试套件
CPU渲染能力测试(smallpt)
~# phoronix-test-suite benchmark smallpt
测试内容:
-
CPU 渲染性能:smallpt 基准测试侧重于使用 CPU 进行光线追踪渲染,主要测试 CPU 处理图像生成任务时的计算能力。
-
计算密集型负载:由于光线追踪渲染需要大量的浮点运算,它是一个典型的 CPU 性能基准,尤其是对于计算密集型任务的评估\
适用场景:
这个基准测试适合用来评估处理器的单核和多核性能,尤其是在高负载下的表现,特别是在需要大量并行计算的任务中。由于它主要依赖于 CPU,因此对于对 CPU 性能要求较高的应用程序,如图形渲染、科学计算等,该测试会有很好的参考价值。
测试输出:
-
测试结果会展示每秒钟渲染的图像数量(即性能的标准),从而反映出 CPU 在这类计算密集型任务下的处理能力
io读写性能测试(iozone)
~# phoronix-test-suite run iozone
测试内容:
顺序读写:评估文件系统在进行顺序读写时的性能,适用于大文件操作。
随机读写:评估系统在处理大量小文件时的随机访问性能。
文件创建、删除、读取、写入:测试文件系统在不同文件操作(创建、删除、打开、读取和写入)中的性能。
其他 I/O 模式:包括对数据块大小、读写缓冲区、并发操作等的多种组合方式的测试。
适用场景:
-
测试不同文件系统(如 ext4, xfs, zfs)或存储设备(如 SSD、HDD、SAN)在不同类型负载下的性能。
-
评估磁盘阵列、RAID 配置或分布式文件系统的性能表现。
-
用于评估虚拟机环境中磁盘性能,尤其是在处理大量文件读写时的表现。
测试输出:
-
吞吐量:测试报告中通常会显示文件系统在各种模式下的读写吞吐量,单位通常是 MB/s 或 IOPS。
-
延迟:通过测试不同大小的文件块和不同的读写模式,IOzone 可以帮助您评估文件系统的响应延迟。
-
性能曲线:可以展示在不同文件大小、不同 I/O 模式下的性能趋势,帮助分析系统在不同负载下的表现。
磁盘测试(tiobench)
~# phoronix-test-suite benchmark tiobench
测试内容:
顺序读写性能:评估在进行大文件读写时磁盘的吞吐量,测试系统在顺序读写负载下的表现。这种测试适用于大文件处理和数据存储应用。
随机读写性能:评估磁盘在处理大量小文件时的性能,特别适合数据库应用和需要频繁小文件读写的场景。
并发访问测试:通过模拟多个线程或进程同时执行读写操作,评估系统在高并发场景下的磁盘性能,特别适用于数据库、Web 服务等负载场景。
文件大小和块大小对性能的影响:Tiobench 还允许设置不同的文件大小和块大小,以测试不同配置下的性能差异,帮助识别最适合特定工作负载的配置
适用场景:
-
数据库负载测试:Tiobench 可以模拟数据库操作中的磁盘负载,适合用于测试数据库系统在高并发和高负载下的性能。
-
存储设备性能测试:通过对硬盘、SSD、RAID 阵列等存储设备的性能评估,帮助选择最适合的存储解决方案。
-
虚拟化环境中的存储性能:在虚拟化环境中,通过模拟磁盘负载,测试存储设备在虚拟机高负载下的表现。
测试输出:
-
吞吐量(Throughput):Tiobench 会显示在不同读写模式下的吞吐量,单位通常是 MB/s 或 IOPS(每秒输入输出操作次数)。
-
延迟(Latency):测试中还会给出磁盘访问的响应时间,通常是 毫秒 或 微秒,反映磁盘的响应速度。
-
并发性能:通过并发访问测试,可以展示多个线程同时执行时的性能瓶颈。
内存测试(ramspeed)
~# phoronix-test-suite benchmark ramspeed
测试内容:
RAMSpeed 测试通过以下几个主要方面评估内存性能:
-
内存带宽(Memory Bandwidth):测试系统可以达到的最大数据传输速率,通常以 GB/s(千兆字节每秒)为单位表示。内存带宽是衡量系统内存性能的重要指标,影响着内存密集型应用程序(如科学计算、视频处理等)的效率。
-
内存延迟(Memory Latency):测试从 CPU 向内存发出请求到接收到数据的时间,通常以 纳秒(ns)为单位表示。较低的内存延迟意味着数据访问更快速,能够加快计算速度。
-
内存访问模式:RAMSpeed 可以测试顺序读、顺序写、随机读、随机写等多种内存访问模式,在不同模式下测试内存性能,以模拟不同类型的负
适用场景:
内存带宽(Memory Bandwidth):测试系统可以达到的最大数据传输速率,通常以 GB/s(千兆字节每秒)为单位表示。内存带宽是衡量系统内存性能的重要指标,影响着内存密集型应用程序(如科学计算、视频处理等)的效率。
内存延迟(Memory Latency):测试从 CPU 向内存发出请求到接收到数据的时间,通常以 纳秒(ns)为单位表示。较低的内存延迟意味着数据访问更快速,能够加快计算速度。
内存访问模式:RAMSpeed 可以测试顺序读、顺序写、随机读、随机写等多种内存访问模式,在不同模式下测试内存性能,以模拟不同类型的负载。
适用场景:
-
内存带宽测试:特别适用于评估服务器、工作站或高性能计算平台的内存带宽,尤其是在需要大量内存读写操作的场景下,如数据库、科学计算、图形渲染等。
-
内存性能调优:用于验证和优化内存子系统性能,确保内存模块、CPU 和主板等硬件组件之间的协作顺畅。
-
硬件比较:通过测试不同内存配置(如不同品牌、不同频率、不同容量的内存)的性能,帮助用户选择适合的硬件。
测试输出:
-
内存带宽:测试结果通常以每秒读写的字节数(GB/s)表示,显示在各种内存操作模式下的带宽性能。
-
内存延迟:测试结果将显示内存访问的平均延迟,通常以纳秒为单位。
-
性能曲线:RAMSpeed 还会生成不同内存操作模式下的性能曲线,帮助分析系统在不同负载下的表现。
测试文件IO性能(fio)
~# phoronix-test-suite benchmark fio
测试内容:
顺序读写性能:测试磁盘在处理大文件顺序读写时的吞吐量,适用于大数据存储、备份和传输等应用。
随机读写性能:评估磁盘在处理小文件或随机访问时的性能,适用于数据库、高频交易、虚拟化等需要频繁访问小数据块的场景。
混合读写负载:通过同时执行读写操作,模拟现实中经常出现的复杂 I/O 场景。例如,数据库读写负载、Web 服务器处理请求等。
并发访问:fio 支持多线程和多进程测试,模拟多个并发请求的磁盘访问负载,评估系统在高并发下的性能。
自定义 I/O 模式:fio 允许自定义文件大小、块大小、操作队列深度等,以测试不同配置下的性能表现。
适用场景:
-
磁盘性能评估:fio 可以用于评估各种存储设备(如 SSD、HDD、RAID 阵列、网络存储等)在不同 I/O 模式下的性能。
-
数据库负载测试:数据库应用通常需要大量随机读写和混合负载,fio 可以模拟这些负载,帮助评估存储设备在数据库场景下的表现。
-
虚拟化和容器存储性能:在虚拟化环境中,fio 可以用来测试虚拟机或容器的磁盘 I/O 性能。
-
网络存储测试:fio 支持通过网络文件系统(如 NFS、iSCSI、Ceph 等)进行测试,适合评估网络存储设备的性能。
-
存储性能调优:通过多次测试不同的配置(如块大小、队列深度、并发连接数等),fio 可以帮助调优存储系统以达到最佳性能。
测试输出:
-
吞吐量(Throughput):fio 会输出每秒的读写吞吐量,通常以 MB/s 或 IOPS(每秒输入输出操作次数)表示。
-
延迟(Latency):测试结果还包括延迟数据,通常以 毫秒 或 微秒 表示,反映磁盘响应时间。
-
队列深度(Queue Depth):fio 可以显示磁盘在不同队列深度下的性能变化,帮助分析系统在高负载时的表现。
-
并发性能
文章评论