Glossary
Storage throughput
Storage throughput is the amount of data a storage system actually moves each second, usually measured in megabytes or gigabytes per second. It decides how long large jobs take, and it is set by the slowest link in the path rather than by any single fast component.
How long does a big job take?
Reading a petabyte at 10 GB per second takes about 100,000 seconds, or a little over 27 hours. At 100 GB per second it takes under 3 hours. For a restore, a model training run or a data migration, that difference is the schedule. Throughput is the number that converts a data volume into a duration, which is why it is the main metric for large sequential work.
What sets the rate?
Data travels through a chain: drives, processors, network ports, switches and the client at the end. The slowest link sets the rate for the entire chain, whatever the specifications of the rest. A server with fast flash behind a single 10 Gb/s port cannot deliver more than about 1.25 GB/s. A fast array behind a client that reads one stream at a time is limited by that client.
Units hide a common mistake. Network links are rated in bits and storage in bytes, so a 100 Gb/s port carries about 12.5 GB/s, and a little less after protocol overhead. Converting everything to the same unit before comparing is the first step in finding the narrowest link.
Why do bigger drives not add speed?
A hard drive streams at a fixed rate regardless of capacity. Replacing 8 TB drives with 20 TB drives in the same servers multiplies capacity while the rate per server stays the same, so the time to read the whole system grows. More throughput comes from more parallel paths. In scale-out storage, each added server brings its own drives and network ports, so capacity and throughput grow together and aggregate speed rises with node count.
Throughput is separate from the operation rate described under IOPS and from the wait per request in storage latency. Large ordered transfers, as discussed in sequential and random I/O, are where it is the metric that counts. Protection also affects it, since each write places more than its own size on the drives, as explained under read/write performance.
Frequently asked questions
What is the difference between throughput and bandwidth?
Bandwidth is the capacity of a link, the most it could carry. Throughput is what is actually moved, which is lower once protocol overhead, contention and the slowest component are counted.
Is throughput measured in bits or bytes?
Networks usually quote bits per second and storage usually quotes bytes per second. Eight bits make one byte, so 100 Gb/s is about 12.5 GB/s.
How can throughput be raised?
By adding parallel paths, such as more servers, drives and network ports, or by making the client issue more parallel streams. Faster single components help only if they were the narrowest link.
Related terms
- IOPS: operations per second, a different measure.
- Storage latency: time per request.
- Sequential vs. random I/O: the pattern throughput suits.
- Scale-out storage: growing speed by adding servers.
- Storage performance: where throughput fits.
- Storage performance tuning: finding the narrowest link.