Elastic search: Slow performance on large data set

[root@host_name 0]# iostat -x
Linux 2.6.32-642.3.1.el6.x86_64 (host_name)  01/03/2017  _x86_64_  (48 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          11.53    0.00    1.50    2.06    0.00   84.91

Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.88     0.52    2.23    0.60   110.99     8.93    42.46     0.01    1.84    2.18    0.60   1.13   0.32
sdb               0.14  3069.91  677.83  655.21 53391.54 29800.99    62.41     0.13    0.10    0.23    0.41   0.15  19.68
sdd               0.20  2960.10  666.37  632.83 51776.28 28743.42    61.98     0.25    0.19    0.05    0.33   0.15  19.10
sdc               0.13  3039.15  678.06  654.51 53443.58 29549.28    62.28     0.05    0.04    0.16    0.36   0.15  19.49

I got merge throttle error again:

[2017-01-03 12:12:45,741][INFO ][index.engine ] [host_name] [Index2][1] now throttling indexing: numMergesInFlight=10, maxNumMerges=9
[2017-01-03 12:12:45,750][INFO ][index.engine ] [host_name] [Index2][1] stop throttling indexing: numMergesInFlight=8, maxNumMerges=9