Java API multi query

Hi,
1.while executing 400 request with multi query I'm getting EsRejectedExecutionException on the last response in the responses array.
I read the next post explaining how to handle it by setting thread pool size = -1, but this is already the default value. Any ideas on how to increase the amount of parallel requests that ES can handle?

http://jontai.me/blog/2013/06/esrejectedexecutionexception-rejected-execution-of-messagechannelhandler-requesthandler/

2.Also, I would like to know if there's a way of improving the performance of MultiSearchRequestBuilder.execute(), I'm getting results indicating that the requests are not running exactly in parallel, and there's appear to be some overhead that I'd like to improve.
for example: I'm running 20 request that each take 120 -500 milliseconds, but the multi request takes almost 4000 milliseconds to return? and I have to get under a second. any ideas?

Thanks in advanced,

Oren

Solved by adding initial thread pool size to elasticsearch.yml configuration file:

Search pool

threadpool.search.size: 80