IOPS in Linux: Testing and optimising disk performance
What is IOPS?
Basic definition
IOPS (Input/Output Operations Per Second) – a metric that measures the number of input/output operations a storage device can perform in one second.
Think of IOPS as the speed at which your disk can:
- Read files
- Write new data
- Modify existing information
Why is IOPS important?
INFO
IOPS directly affects the speed of your applications and services
Critical use cases
- Databases (MySQL, PostgreSQL, MongoDB)
- High-load web servers
- File storage
- Caching systems
- Mail servers
Factors affecting IOPS
1. Drive type
- Used at F3 Cloud
- Maximum performance
- Up to 1,000,000 IOPS
- Minimal latency
2. Data block size
WARNING
Data block size significantly affects real-world performance
| Block size | Impact on IOPS |
|---|---|
| 4KB | Maximum IOPS |
| 8KB | High IOPS |
| 64KB | Medium IOPS |
| 1MB | Low IOPS |
3. Access patterns
- Random access
- More demanding on IOPS
- Typical of databases
- Important for web applications
- Sequential access
- Less demanding on IOPS
- Characteristic of streaming
- Important for backups
IOPS at F3 Cloud
TIP
On F3 Cloud servers, we do not set artificial limits on IOPS
Our advantages:
- Use of NVMe drives only
- No IOPS limits
- Optimised storage configuration
- Performance monitoring
- Ability to scale
How do you measure IOPS?
Linux
bash
# Measuring random reads
fio --name=randread --ioengine=libaio --iodepth=16 --rw=randread --bs=4k --direct=1 --size=4G --numjobs=1 --runtime=240 --group_reportingWindows
powershell
# Use CrystalDiskMark or ATTO Disk BenchmarkOptimisation recommendations
- Choosing the right disk type
- NVMe SSD for high-load systems
- RAID arrays for improved reliability
- File system configuration
- Optimal block size
- Correct mount options
- Performance monitoring
- Regular IOPS checks
- Bottleneck analysis
- Timely scaling
Our resources
Telegram channel: https://t.me/
F3 Cloud: https://f3cloud.com