{"id":21306928,"url":"https://github.com/oneclickvirt/disktest","last_synced_at":"2025-07-11T21:31:57.360Z","repository":{"id":239254350,"uuid":"799022100","full_name":"oneclickvirt/disktest","owner":"oneclickvirt","description":"硬盘IO测试模块 (Disk IO Test Module)","archived":false,"fork":false,"pushed_at":"2024-08-09T05:34:57.000Z","size":93,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2024-08-09T06:35:15.690Z","etag":null,"topics":["dd","disk","fio","goecs","iops","winsat"],"latest_commit_sha":null,"homepage":"https://github.com/oneclickvirt/ecs","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oneclickvirt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-11T01:23:44.000Z","updated_at":"2024-08-09T06:35:19.269Z","dependencies_parsed_at":"2024-08-05T13:25:40.934Z","dependency_job_id":null,"html_url":"https://github.com/oneclickvirt/disktest","commit_stats":null,"previous_names":["oneclickvirt/disktest"],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oneclickvirt%2Fdisktest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oneclickvirt%2Fdisktest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oneclickvirt%2Fdisktest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oneclickvirt%2Fdisktest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oneclickvirt","download_url":"https://codeload.github.com/oneclickvirt/disktest/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225762881,"owners_count":17520370,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dd","disk","fio","goecs","iops","winsat"],"created_at":"2024-11-21T16:29:01.002Z","updated_at":"2025-07-11T21:31:57.352Z","avatar_url":"https://github.com/oneclickvirt.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# disktest\n\n[![Hits](https://hits.spiritlhl.net/disktest.svg?action=hit\u0026title=Hits\u0026title_bg=%23555555\u0026count_bg=%230eecf8\u0026edge_flat=false)](https://hits.spiritlhl.net)\n\n[![Build and Release](https://github.com/oneclickvirt/disktest/actions/workflows/main.yaml/badge.svg)](https://github.com/oneclickvirt/disktest/actions/workflows/main.yaml)\n\n硬盘IO测试 (Disk IO Test)\n\n## 功能\n\n- [x] 支持使用```winsat```测试\n- [x] 支持使用```dd```测试\n- [x] 支持使用```fio```测试，支持自动选择IO引擎测试，测试优先级为```libaio[仅linux] \u003e posixaio \u003e psync```\n- [x] 支持Go自身静态依赖注入[fio](https://github.com/oneclickvirt/fio)和[dd](https://github.com/oneclickvirt/dd)，使用时无额外环境依赖需求\n- [x] 支持双语输出，以```-l```指定```zh```或```en```可指定输出的语言，未指定时默认使用中文输出\n- [x] 支持指定测试方式，以```-m```指定```dd```或```fio```指定测试方式，未指定时默认使用```fio```进行测试\n- [x] 支持单/多盘IO测试，以```-d```指定```single```或```multi```可指定是否测试多盘，未指定时默认仅测试单盘```/root```或```C:```路径\n- [x] 支持指定路径IO测试，以```-p```指定路径\n- [x] 正式测试前检测当前路径挂载盘剩余空间是否足够生成测试文件\n- [x] 全平台编译支持，适配MACOS系统等无root权限等环境进行测试\n\nPS: 不使用```sysbench```进行硬盘IO测试，因为默认设置下```fio```测试效果比```sysbench```测试更贴近机器本身的性能，且```fio```的维护者比```sysbench```的维护者更活跃。\n\n## TODO\n\n- [ ] 修复WIN系统的虚拟下的disk测试无法使用winsat的问题\n\n## 使用\n\n下载、安装、更新\n\n```shell\ncurl https://raw.githubusercontent.com/oneclickvirt/disktest/main/disktest_install.sh -sSf | bash\n```\n\n或\n\n```shell\ncurl https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/disktest/main/disktest_install.sh -sSf | bash\n```\n\n使用\n\n```\ndisktest\n```\n\n或\n\n```\n./disktest\n```\n\n进行测试\n\n```\nUsage: disktest [options]\n  -d string\n        Enable multi disk check parameter (single or multi, default is single)\n  -h    Show help information\n  -l string\n        Language parameter (en or zh)\n  -log\n        Enable logging\n  -m string\n        Specific Test Method (dd or fio)\n  -p string\n        Specific Test Disk Path (default is /root or C:)\n  -v    Show version\n```\n\n更多架构请查看 https://github.com/oneclickvirt/disktest/releases/tag/output\n\n## 卸载\n\n```\nrm -rf /root/disktest\nrm -rf /usr/bin/disktest\n```\n\n## 在Golang中使用\n\n```\ngo get github.com/oneclickvirt/disktest@v0.0.8-20250701092629\n```\n\n## 测试图\n\ndd测试：\n\n![图片](https://github.com/oneclickvirt/disktest/assets/103393591/163b1150-dc45-4d53-abbf-c6e1acca4e19)\n\nfio测试：\n\n![图片](https://github.com/oneclickvirt/disktest/assets/103393591/3052b430-2d93-4a07-9e12-0a911ffb36c3)\n\nwinsat测试：\n\n![1716466264315](https://github.com/oneclickvirt/disktest/assets/103393591/505b9525-216c-4e9a-b602-65382177d414)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foneclickvirt%2Fdisktest","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foneclickvirt%2Fdisktest","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foneclickvirt%2Fdisktest/lists"}