I got a grpc c++ async server, setup like the tutorial. I add 20 (when doing benchmark I changed it to 8/64/256, it doesn’t make any difference) completion-queue and respectively one thread for one completion-queue.
And each thread just endless looping, fetching tag for the corresponding completion queue then do our business transaction. And then call the responder->Finish method.
But on a quite high pressure, the clients side got a longer latency than the time our business transaction taken (about 5-6 seconds, it couldn’t be network lagging) I think the requests were queued a long time in the completion-queue, but as I said, adding more threads and completion-queue seemed not helping.
Can I find out some way to debug this? I tried “grpc_trace=all” the logs are too many and the tags report in these log are different with the tags we set. It’s weird too