• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 346
  • Last Modified:

OS IOPS value Vs Storage IOPS value

How do we differentiate the IOPS value from  OS to Storage. For an example I'm writing 8K block of data using dd command in linux

dd if=/dev/zero of=/opt/rg/perf/testing123 bs=8k count=30000000
245760000000 bytes (246 GB) copied, 334.014 s, 736 MB/s

IOPS value is 30000000/334= 89820

but in Storage I'm only seeing around 2000 IOPS. IF I understand correctly it converts to different block size, and then do the calculation?
0
mokkan
Asked:
mokkan
  • 3
  • 3
4 Solutions
 
DavidCommented:
dd does NOT write data to the HDD in 8KB I/O chunks, or for that matter, the way you are running it, it won't even write only 8KB x 30000000 bytes of data.

Your filesystem, kernel, and device drivers are doing a heck of a lot of things underneath the covers such as dealing with journaling, aggregating I/O, and potentially doing some compression depending on some settings.

It is even queuing I/O, so if you kill the dd, you will note that the HDD still blinks for a while after dd is killed.

If you want to measure how fast data gets to the disk, with reasonable accuracy, you must do a dd but set the of= to the raw physical device (which destroys file system).   If you want to insure that the block sizes are correct and when you do a dd to write chunks in 8KB and exactly 8KB of data gets written and nothing else, then you have to write a program that uses the pass-through /dev/sg driver and send out the WRITE(10) and/or WRITE(16) CDBs.   The raw SCSI method is the ONLY accurate means of having complete control.
0
 
andyalderSaggar makers bottom knockerCommented:
Same goes for Windows, the device driver will even re-order writes to try to make bigger I/Os to cut down the IOPS requirement especially if it's a clever RAID controller.
0
 
mokkanAuthor Commented:
Thank you very much. If I'm  writing to  raw device, then how do I much up IOPS value with storage? Does it need to be equal or depends on the storage and stripe size?
0
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
DavidCommented:
There is no such thing as stripe size when sending raw WRITE commands to the HDD.  If you send it 2,618 bytes, then that is what it writes.  IF you send 32,768 bytes, then that is what it writes.

Now what i think you want to do is send raw SCSI commands to the RAID volume, and that process depends on whether you are doing hardware or software RAID .. so be specific, what is the method you use for RAID?
0
 
mokkanAuthor Commented:
No, I mean in storage side, does it convert to different stripe size and write it to disk?
0
 
DavidCommented:
If you send the raw scsi commands to the RAID volume, then the controller will slice and dice as necessary to get it to the disk.  Example, if stripe size is 64KB and you have a 3-disk RAID5, then if you send just one byte to the raid volume, then this will generate approx 256KB worth of I/O.

But if you read 1 byte, then that could generate anywhere from 1 byte to 64KB worth of physical disk I/O.

It is all dependent on understanding the RAID architecture.
0
 
mokkanAuthor Commented:
Thank you all.
0

Featured Post

Prepare for your VMware VCP6-DCV exam.

Josh Coen and Jason Langer have prepared the latest edition of VCP study guide. Both authors have been working in the IT field for more than a decade, and both hold VMware certifications. This 163-page guide covers all 10 of the exam blueprint sections.

  • 3
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now