I use RxJavaCallAdapterFactory.create() and Schedulers.io(), so Dispatcher isn't used and maxRequests and maxRequestsPerHost not a problem. Schedulers.io() creates infinite number of threads.
The problem is when I run 10 requests and then 1 more while previous not finished this 1 request takes longer time to start. If 10 requests finished the next request run immediately. When I have a several requests running I see in logs that Call.execute() is called and then request started only after 6 seconds. When there are no active requests, new request starts immediately. So is it limitation of android or some network libraries?