That whole purpose of limiting the number of VMs per datastore is to reduce the induced latency from queueing. Each ESX host by default has a queue depth of 32 per VMFS datastore. If your storage averaged 5ms latency for all IOs then the maximum theoretical IOPS before inducing latency would be: (1 host) * (32 queue depth) * (1,000 ms / 5ms average latency) = 6,400 IOPS before inducing latency from queueing. So if we had 10 high IO VMs this would equate to about 640 IOPS per VM. Giving each VM the equivalent to a stand alone host with 4 - 15k disk RAID. Thusly having 20VMs per datastore would reduce this to a potential of 320 IOPS per VM. These numbers are per host so as you add hosts you can have more than 10-15-20 per VMFS datastore so long as they are evenly spread across the ESX hosts in the cluster.