RHEL raw device (over VMware RDM) performance issues

performanceraw-diskrhel5vmware-vsphere

I'm running RHEL 5.3 over vSphere 4.0U1.
I configured multiple LUNs on my NetApp (Fibre) storage, and added the RDM on two (Linux) VMs, using the Paravirtual SCSI adapter.
One LUN is 100GB in size, successfully mapped to /dev/sdb on both VMs, 5 more are 500MB in size (mapped to /dev/sd{c-g}. I also created one partition per device.

I have encountered two issues:
First, writing directly to /dev/sdb1 gives me ~50MB/s, while any of the /dev/sd{c-g}1 gives me ~9MB/s.
There is no difference in configuration of the LUNs apart from their size. I am wondering what causes this but this is not my main problem, as I would settle for 9 MB/s.

I created raw devices using udev pretty straightforwardly:

ACTION=="add", KERNEL=="sdb1", RUN+="/bin/raw /dev/raw/raw1 %N"

per device

Writing to any of the new raw devices dramatically slows down performance to just over 900KB/s.

Can anyone point me in a helpful direction?

Thanks in advance,

— jifa

Best Answer

Turns out my performance assessment was wrong to begin with. I used the great article at http://www.informit.com/articles/article.aspx?p=481867 that explains I/O performance and figured out writing with small block sizes substantially degrades performance. Increasing the measurement block size proved normal r/w speeds - problem solved.