What would cause IO Wait on a SAN

iowaitstorage-area-network

I understand IO wait when I see it on a server, it means that the CPU is blocked while I wait for the IO to catch up [source].

I am trying to understand why a SAN stats would show a high IO wait – does this indicate that the SAN CPU is blocked by the SAN disk or is it something else?

Best Answer

A SAN has a much higher IO latency than a local disk due to the fundamental laws of physics. So if your application is doing lots of small writes and fsync() after each, you'll see a lot of iowait.

For example, here are two mysql replicants of the same dataset containing many small transactions, you'll see the slave on the SAN is spending a lot more of its time doing IO.

San: enter image description here

Local:

enter image description here