Low document read performance when the number of filters in the query is ~500

CE cluster with 2 nodes , 4 CPU which runs all the services, each one of service competes resources each other.
In Addition in CE query services limits 4 cores.

In addition your query using 3 filters out of that index has only 2 of them 3rd one need to applied after fetching the document,
IN clause of 50 elements means indexScan must be done 50 distinct ranges. and apply 500 in clause post fetch of the document.
If index uses 3 filters on two IN clauses it becomes 50*500*.5 = 62500 combinations. IndexScan on that many distinct values?

Request per sec depends on how many keys indexscan gave, how many documents fetched, how many further filtered , size of results. Each stage if you can minimize the unnecessary work it will be better. The following links details those.
Try with EE and links provided in Identify top N queries in couchbase

Also checkout FTS Service/search API from JAVA and get document keys and Fetch the documents