I have an ESXi 5.0 free host with an internal datastore of 7.2K 5 disk RAID 5 using a PERC 710 mini RAID controller in a Dell Poweredge R620 Server with 32GB Ram and a 12 Core Xeon. I seem to get slow write speeds in the guests so I checked out ESXTOP and I see 15MB/s write speed there on this host, which is comprable to the guests. What could be causing such horrible write speeds? Is RAID 5 really this slow to write??
Note that with a RAID 5 implementation, you will see immense penalty for small writes. Any write which is not going to overwrite an entire stripe (i.e. is smaller than the stripe set size) will induce a read operation off all disks, the re-calculation of the XOR parity and a write operation to at least two of the array's disks. Using a 5 disk array and a 64KB stripe element size (710's default and minimum), this would happen for every write operation smaller than 256KB. The basic outcome is that for a small writes workload, your write performance is going to be even worse than a single drive of your array would be capable of performing.
This obviously would cause everybody drop the idea of using RAID5 ever if it were not for the caches and the splendid read performance a RAID5 array is exhibiting. The caches would usually catch any small writes, possibly group them and flush them to disks whenever convenient. If small writes only happen occasionally and do not overrun the cache buffers, you are not likely to see problems with RAID5 performance. If the cache buffers are already filled with yet unflushed requests or if the cache is not set up to work as "write-back" (or has a non-functional / discharged BBU), you will see abysmal performance from the array. So you should be checking both - your access pattern as well as the cache status of your controller.