Disk Benchmark provides a streamlined graphical interface on top of the industry-standard. It allows you to configure, run, and export disk I/O performance tests without ever touching a command prompt. Whether you are evaluating a new SSD, diagnosing a sluggish hard drive, or comparing storage devices for a report, this tool gives you accurate, repeatable results presented in clean, shareable reports.
Table of Contents
1. Main Window Overview
When you launch the program, you will see the main window with four distinct areas.
1.1 Top Bar => Drive Selection
| Element | Description |
|---|---|
| Drive dropdown | Lists all ready drives on your system. Each entry shows the drive letter, volume label, free space, and total capacity (e.g., C:\ [System] 120.5 GB free / 476.9 GB). Select the drive you want to benchmark. |
| Save TXT | Exports the benchmark results to a plain text file. A file dialog will appear so you can choose the save location. |
| Save HTML | Exports the benchmark results to a styled HTML file that can be opened in any web browser. |
| Refresh | Re-scans the system for available drives and updates the dropdown list. Use this if you connect a new drive after launching the program. |
| Settings | Opens the Settings window where you can configure test profiles, parameters, and file size. |
1.2 Results Table
This is the central area of the window. It displays one row per test with the following columns:
| Column | Description |
|---|---|
| Test | The descriptive name of the test (e.g., Seq Read 128K Q8T4, Rnd Write 4K Q1T1). |
| MB/s | Total throughput in megabytes per second (combined read + write for mixed tests). |
| IOPS | Total input/output operations per second. |
| Latency (ms) | Average latency in milliseconds for the total I/O. |
| R MB/s | Read throughput in megabytes per second (from the Read IO output section). |
| W MB/s | Write throughput in megabytes per second (from the Write IO output section). |
| Status | Current state of the test: Waiting, Running..., Done, Stopped, or Parse Error. |
1.3 Log Output
The bottom panel shows a real-time, scrollable log of everything that happens during the benchmark. This includes:
- Drive information retrieved when the test starts.
- Parsed results (throughput, IOPS, latency, read/write breakdowns) after each test completes.
- Cleanup status and benchmark completion summary.
1.4 Status Bar
| Element | Description |
|---|---|
| Status label | Shows the current action (e.g., "Ready", "Creating test file (1G)...", "Running: Seq Read 128K Q8T4 (1/5)"). |
| Progress bar | Visual progress indicator from 0% to 100%. |
| Percentage label | Numeric progress display. |
| Start button | Begins the benchmark with the currently selected drive and test configuration. |
| Stop button | Immediately stops the running test (and kills the process if necessary). |
2. Running a Benchmark
Here is exactly what happens when you click Start:
- Validation - The program checks that a drive is selected, at least one test is configured.
- Sequential test execution - Each test in the configured list runs one after another. For each test:
- The row in the results table highlights yellow to indicate it is running.
- The output is parsed and the results are displayed in the table.
- The progress bar updates.
- Cleanup - The temporary test file is deleted from the drive.
- Completion - A summary is logged, the Start button is re-enabled, and you can now export reports.
3. Understanding the Results
3.1 Metrics Explained
| Metric | What It Measures | Why It Matters |
|---|---|---|
| MB/s (Throughput) | The total data transfer rate in megabytes per second. This is the most intuitive measure of disk speed - how fast data can be read from or written to the disk. | Higher is better. Important for tasks like copying large files, loading games, or transferring media. |
| IOPS | Input/Output Operations Per Second. The number of individual read or write requests the disk can handle per second. | Critical for database servers, virtual machines, and any workload involving many small, random file operations. SSDs typically excel here. |
| Latency (ms) | The average time (in milliseconds) it takes for the disk to complete a single I/O request from start to finish. | Lower is better. High latency causes the system to feel sluggish, especially during random access patterns. |
| R MB/s | Read throughput specifically, measured independently from write operations. | Shows how fast the disk can retrieve data. Important for application loading, boot times, and read-heavy workloads. |
| W MB/s | Write throughput specifically, measured independently from read operations. | Shows how fast the disk can store data. Important for saving files, installing software, and write-heavy workloads. |
3.2 What These Numbers Mean in Practice
- Sequential Read/Write with large block sizes (128K, 256K) - These tests measure the disk's raw streaming performance. This is what you experience when copying large files or reading/writing large datasets. Modern NVMe SSDs can exceed 3,000 MB/s here, while SATA SSDs typically reach 500-550 MB/s, and HDDs range from 100-200 MB/s.
- Random Read/Write with small block sizes (4K) - These tests simulate real-world workloads like web browsing, application loading, and database operations. This is where SSDs dramatically outperform HDDs. A good SATA SSD might achieve 30,000-100,000 IOPS at 4K random, while an HDD typically manages only 100-300 IOPS.
- Mixed I/O - Simulates workloads where both reads and writes happen simultaneously (e.g., an operating system drive under normal use). The read/write percentage (e.g., 70R/30W) determines the balance.
3.3 Test Name Format
Each test in the results table has an auto-generated descriptive name. Here is how to read it:
Seq Read 128K Q8T4 | | | | +-- T = Threads (4 threads) | | | +----- Q = Queue Depth (8 outstanding I/Os) | | +---------- Block Size (128 KB) | +---------------- Test Type (Read, Write, or Mixed like 70R/30W) +-------------------- Access Pattern (Seq = Sequential, Rnd = Random)
Examples:
- Rnd Write 4K Q1T1 - Random write test, 4 KB blocks, queue depth 1, 1 thread (single-threaded, worst-case random performance).
- Seq Read 4K Q32T4 - Sequential read test, 4 KB blocks, queue depth 32, 4 threads (high parallelism, typical SSD workload).
- Mixed 70R/30W 4K Q32T4 - Mixed I/O test with 70% reads and 30% writes, 4 KB blocks, queue depth 32, 4 threads.
4. Settings Window
Click the Settings button or CTRL + SPACE on the main window to open the Settings window. This is where you configure everything about your benchmark: which preset profile to use, how large the test file should be, and the exact parameters for each individual test.
4.1 Test Configuration Panel
| Parameter | Options | Description |
|---|---|---|
| Block Size | 512, 1K, 2K, 4K, 8K, 16K, 32K, 64K, 128K, 256K, 512K, 1M | The size of each individual I/O request in bytes (or kilobytes/megabytes). Smaller blocks (4K) test random access performance; larger blocks (128K-1M) test sequential streaming performance. The 4K size is particularly important because it matches the standard page size of most operating systems and file systems. |
| Queue Depth | 1, 2, 4, 8, 16, 32, 64, 128 | The number of outstanding I/O requests that can be queued at the same time. A queue depth of 1 means the disk must finish one request before the next one starts. Higher queue depths allow the disk controller and NCQ (Native Command Queuing) to optimize the order of operations. SSDs benefit significantly from higher queue depths; HDDs show diminishing returns beyond QD4-8. |
| Thread | 1, 2, 4, 8, 16 | The number of simultaneous threads issuing I/O requests. More threads generate more I/O pressure. For NVMe SSDs, using multiple threads with high queue depth is necessary to reach maximum throughput. For HDDs, additional threads generally provide little benefit due to mechanical seek limitations. |
| Pattern | Sequential, Random | Sequential - Data is read or written in contiguous blocks from start to end, simulating large file operations. Random - Data is read or written at random locations across the entire test file, simulating real-world workloads like OS operation, database queries, and web browsing. |
| R/W | Read, Write, Mixed | Read - Only measures read performance. Write - Only measures write performance. Mixed - Measures a combination of reads and writes. |
| Read % (Mixed) | 0 > 100 (only enabled when R/W is set to Mixed) | The percentage of I/O operations that are reads (the rest are writes). For example, 70 means 70% reads and 30% writes. A typical OS workload might be 65-75% reads. |
| Duration | 5 > 600 seconds | How long the actual test runs (excluding warm-up and cool-down). Longer durations produce more stable and representative results, at the cost of increased total test time. |
| Warm Up | 0 > 120 seconds | A preparatory period before the actual measurement begins. This allows disk caches to stabilize, firmware background operations to settle, and the system to reach a steady state. |
| Cool Down | 0 > 120 seconds | A settling period after the measurement ends. During cool-down, the program continues performing I/O but discards the results. This helps prevent the next test from being affected by the previous test's residual cache state. |
4.2 Test List Management
- Add Test - Creates a new test using the current configuration panel settings and appends it to the end of the test list. The profile automatically switches to "Custom".
- Update Sel. - Replaces the currently selected test in the list with the current configuration panel settings. You must select a test in the list first.
- Remove Test - Deletes the currently selected test from the list.
- Move Up - Moves the selected test one position up in the execution order.
- Move Down - Moves the selected test one position down in the execution order.
- Duplicate - Creates a copy of the selected test and inserts it immediately below the original. Useful when you want to create a similar test with minor parameter changes.
- Clear All - Removes all tests from the list. The profile switches to "Custom".
- Reset Default - Clears all custom tests and reloads the default HDD profile.
5. Exporting Reports
After running a benchmark, you can export the results in two formats using the Save TXT and Save HTML buttons or CTRL + S (Save TXT) / CTRL + SHIFT + S (Save HTML) on the main window.
5.1 TXT Report
A plain-text report saved with a .txt extension. This format is ideal for:
- Pasting into emails, forum posts, or chat messages.
- Archiving in version-controlled systems.
- Processing with text-based tools or scripts.
5.2 HTML Report
A professionally styled, self-contained HTML report saved with an .html extension. This format is ideal for:
- Sharing results in a visually appealing format.
- Opening in any web browser (no server required).
- Printing or saving as PDF from the browser.
- Embedding in documentation or presentations.
6. Keyboard Shortcut Keys
| Action | Shortcut |
|---|---|
| Start Test | CTRL + T |
| Stop Test | CTRL + END |
| Open Settings | CTRL + SPACE |
| Save TXT | CTRL + S |
| Save HTML | CTRL + SHIFT + S |
| Show This Help | F1 |
7. Benchmarking Best Practices
To get the most accurate and representative results from your benchmarks:
- Close all other applications before running a benchmark. Background processes (antivirus scans, Windows Update, cloud sync, web browsers) can interfere with disk I/O and produce inconsistent results.
- Run the benchmark multiple times and look for consistency. A single run may be affected by transient system activity. Three runs with similar results give you much more confidence in the numbers.
- Use an appropriate test file size. For SSDs, use at least 2 GB to exceed the SLC cache. For HDDs, 1 GB is generally sufficient.
- Let the drive warm up. If the drive has been idle, the first test may show lower performance due to spin-up time (HDDs) or power management states (SSDs). The built-in warm-up period helps mitigate this.
- Test on a clean drive. If the drive is nearly full, performance may degrade, especially on SSDs. Ensure at least 20-30% free space for accurate results.
- Be aware of OS caching. This program uses the -Sh flag (unbuffered I/O) and -Zr (disable OS read caching for write tests) to bypass Windows file caching as much as possible, providing results closer to the actual hardware capability.
- Consider the interface bottleneck. A SATA III SSD will never exceed approximately 550 MB/s regardless of how fast the NAND flash is, because that is the theoretical maximum of the SATA III interface. NVMe drives use the PCIe bus and can reach much higher speeds.
- Note the temperature. SSDs, especially NVMe drives, can thermal throttle under sustained write workloads. If you notice performance dropping significantly during long tests, the drive may be overheating.
