CB io Thread pool

I see many timeouts while fetching docs from Memcached bucket in Couchbase server.
Server Version: 5
Java SDK version: 2.7.9

I’m using one application server with 16 cores and 3 Node cb cluster. There are total 4 buckets in the cluster and most of the operations are get. And total number of requests made per sec is 4500.
bucket #1 : ~750 gets/sec. Timeout : 50ms
bucket #2: ~750 gets/sec Timeout : 50ms
bucket #3: ~1500 gets/sec Timeout: 30ms
bucket #4: ~1500 gets/sec Timeout: 30ms

I see nearly ~60-70 get requests are timing out for bucket #3.

I see only few io threads are being used via profiler for all these requests.

Here blocked count for many of the io threads is 0, does that mean these threads are not being used and no context switching is happening for these threads?
And cb Computations threads are being used .

And Rx computation scheduler threads are:

All get operations are blocking calls. How to utilise all the io threads? and how to reduce timeouts ?