1832973 Members
2367 Online
110048 Solutions
New Discussion

Re: about sustained throughput

 
SOLVED
Go to solution
Dong Li
Occasional Contributor

about sustained throughput

Hi there,

1. what is disk Sustained Throughput?

2. what's the relationship between it and disk's peak throughput?

3. Suppose the disk's sustained throughput is 40MB/S and the average request size is 8KB. Can we think the disk is able to handle 40MB/8KB= 5000 requests per second?
According to some documents, usually a disk can handle around 40 requests which average request size is 8KB.

4. how could we calsculate the disk throughput according to the average request size of the workload? for example what's the disk's maximum throughput on the workload with a 16KB average request size?


Thanks!
Dong
2 REPLIES 2
Leif Halvarsson_2
Honored Contributor

Re: about sustained throughput

Hi,

1
Continous throughput, large sequential read/writes.

2
I don't belive "peak throughput" is very relevant in the "real world". It seems mostly relate to the bus speed. Perhaps chached read writes.

3
Of course not. With small random read/writes the IO-rate (IOPS) is more interesting. 40 IOPS is perhaps not relevant for the fastest disks. Maybe 100-150 but NOT 5000.

4
I don't belive such calculations is very reliable. There is a number of factors that may have impact. A better idea is to use a disk performance benchmark, for example IOmeter or Postmark.
Iozone
New Member
Solution

Re: about sustained throughput

One may request 8kb, but what the operating system is requesting may be quite different, in size and number of requests. Disks typically do somewhere around 150 to 250 ops/sec. If the ops require seeks, this slows things down. If the ops can be satisfied from the track cache, this helps speed things up. The disk track cache may also be re-ordering requests, and issuing read-aheads.

If you are interested in the I/O subsystem performance under small transfer, from random locations, then you may wish to measure the performance using postmark.
If you are wishing to measure the performance under Windows, while utilizing huge quantities of async I/O requests, then
you may wish to try Iometer.

If you are interested in the I/O subsystem performance under sequential I/O workloads, then you may wish to try Iozone, or Bonnie.

The tricky part is to understand that the disk can not be removed from the system and then measured. The disk performance is only interesting when it is in the system and tested as the application will see, under real-world situations. The operating system and the I/O subsystem interact with each other. The throughput of the disk is not as important to the application as the throughput of the system, with this disk in it.
The throughput of the system is also not a constant, or even linear. The throughput of most systems is a fairly complex polynomial, and contains quite a few variables. Things like: file size, transfer size, amount of RAM in the system, CPU L1 size, CPU L2 size, memory speed, number of disk controllers, number of disks, number of disks in a RAID set, RAID level, operating system read-ahead algorithm, VM subsystem's page replacement algorithm, file system type, location of filesystem journal, number of CPUs, number of processes/threads doing I/O, type of I/O.. async, mmap, read, write, mixed read/write, and a few dozen more ....

My suggestion: http://www.iozone.org

Run this:

iozone -Raz -g ##m -b out.wks

Where the ## is the size of RAM in the system, in megabytes. (Be sure to follow the value with the "m")

The -R turns on Excel output.
The -a turns on Auto mode.
The -z turns on more coverage.
The -g ##m sets the maximum filesize.
The -b filename.wks is the Excel spreadsheet with the results.

Now plot the results.... You can then see the throughput (single stream in this case) for the I/O subsystem, over a range of file sizes and transfer sizes.

Enjoy,
Don