Skip to content

oneclickvirt/disktest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

disktest

Hits

Build and Release

硬盘IO测试 (Disk IO Test)

功能

  • 支持使用winsat测试
  • 支持使用dd测试
  • 支持使用fio测试,支持自动选择IO引擎测试,测试优先级为libaio > posixaio > psync
  • 支持Go自身静态依赖注入fiodd,使用时无额外环境依赖需求
  • 支持双语输出,以-l指定zhen可指定输出的语言,未指定时默认使用中文输出
  • 支持指定测试方式,以-m指定ddfio指定测试方式,未指定时默认使用fio进行测试
  • 支持单/多盘IO测试,以-d指定singlemulti可指定是否测试多盘,未指定时默认仅测试单盘/rootC:路径
  • 支持指定路径IO测试,以-p指定路径
  • 全平台编译支持

PS: 不使用sysbench进行硬盘IO测试,因为默认设置下fio测试效果比sysbench测试更贴近机器本身的性能,且fio的维护者比sysbench的维护者更活跃。

TODO

  • 正式测试前检测当前路径挂载盘剩余空间是否足够生成测试文件
  • 修复WIN系统的虚拟下的disk测试无法使用winsat的问题
  • 适配MACOS系统测试

使用

下载、安装、更新

curl https://raw.githubusercontent.com/oneclickvirt/disktest/main/disktest_install.sh -sSf | bash

curl https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/disktest/main/disktest_install.sh -sSf | bash

使用

disktest

./disktest

进行测试

Usage: disktest [options]
  -d string
        Enable multi disk check parameter (single or multi, default is single)
  -h    Show help information
  -l string
        Language parameter (en or zh)
  -log
        Enable logging
  -m string
        Specific Test Method (dd or fio)
  -p string
        Specific Test Disk Path (default is /root or C:)
  -v    Show version

更多架构请查看 https://github.com/oneclickvirt/disktest/releases/tag/output

卸载

rm -rf /root/disktest
rm -rf /usr/bin/disktest

在Golang中使用

go get github.com/oneclickvirt/disktest@v0.0.7-20250406062845

测试图

dd测试:

图片

fio测试:

图片

winsat测试:

1716466264315