That's sad. So maybe you are not on physical machine? 20 VMs are a huge difference to 20 physical machines. I would re-check software RAID setup. Look for the slowest part of the system first. Also the whole VM setup can be the reason for massive slowdown - e.g. a managed traffic interface to send blocks of VM to host I/O devices. This is suspicious because ES 2+ emits much more IOPS for dealing with translog durability than ES 1+
Can you ask this as a separate question in order to not conflate the topic on this thread please.
I'm sorry, its' my fault.
Really strange, I've got a much smaller cluster (3 VMs, 4 GB RAM, ES_HEAP_SIZE 2GB, virtual disks on SAN, OS Debian 8, Oracle Java 8 update 101, almost all default elasticsearch configuration) and it can easily index 2K docs/sec with an average doc size of about 0.8 KB, so with a cluster like yours you should be able to get much, much higher performance.