Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

Is it possible to set an arbitrary delay for I/O operations?

I would like to learn how do iowait and disk %util impact the performance. There are a lot of tools to stress the disk (bonnie++ etc.) but I'm looking for a way to introduce a delay like the tc (traffic control) tool does for network. It is possible to disable some optimizations with hdparm tool, like set AAM to quiet or disable DMA and switch to PIO mode - which are only a indirect way to decrease I/O.

share|improve this question
2  
Run your actual workload. –  Michael Hampton Jul 15 '13 at 21:28
add comment

2 Answers

You can try using dm_delay to simulate delayed IO for a device. Here is some document you might need: http://www.mjmwired.net/kernel/Documentation/device-mapper/delay.txt and here are some useful links for iostats: iostat - How does %util affect %idle and %iowait http://stackoverflow.com/questions/4458183/how-the-util-of-iostat-is-computed

share|improve this answer
2  
Whilst this may theoretically answer the question, it would be preferable to include the essential parts of the answer here, and provide the link for reference. –  slm Aug 21 '13 at 0:26
add comment

With fio and blktrace, you can replay an I/O trace. What type of disruption are you trying to simulate?

If the delays you wish to induce are from an existing production system, you can use that as the basis for your trace.

share|improve this answer
    
sounds interesting! I'll try them out and came back with a feedback. –  user156233 Jul 15 '13 at 23:35
    
Good luck. Does this seem like it could do what you're asking for? –  ewwhite Jul 15 '13 at 23:36
    
I want to learn more about I/O, for example which performance impact will be added during high I/O caused by other VM guests on the same VM. How await, iowait and %util correlate etc. –  user156233 Jul 15 '13 at 23:43
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.