UnambiguousTimeoutException: SubdocGetRequest, Reason: TIMEOUT

Sometimes my server has this error a lot, I found that it said timeout does not mean that the connection to the Couchbase server timed out, not that the io thread is occupied by other business code, because my framework is webflux, and in webflux, if after doing database IO Execute a method. This method is actually soaked in the io thread (cb-io-thread). io thread will not be released until the method ends.
What should I do to resolve this issue? Use publishon to switch to other threads for execution after IO? I tried this, but it seems like the load on the server has increased significantly, so is there a better way?

com.couchbase.client.core.error.UnambiguousTimeoutException: SubdocGetRequest, Reason: TIMEOUT {"cancelled":true,"completed":true,"coreId":"0xc6102caa00000001","idempotent":true,"lastChannelId":"C6102CAA00000001/00000000F48E38C1","lastDispatchedFrom":"","lastDispatchedTo":"","reason":"TIMEOUT","requestId":4731830,"requestType":"SubdocGetRequest","retried":0,"service":{"bucket":"default","collection":"_default","documentId":"xxxx","opaque":"0x483651","scope":"_default","type":"kv","vbucket":574},"timeoutMs":10000,"timings":{"totalMicros":10001358}}

If you’re pretty sure the issue is the event loop, there are settings for the event loops when creating the cluster connection. If you are sharing the webflux eventloop with Couchbase - maybe don’t. I assume you’re the same Adar - The best experience to use Couchbase with webflux? · Issue #1792 · spring-projects/spring-data-couchbase · GitHub

RequestTracing can report requests over a given threshold and is a useful tool for understanding performance.

Load on the server will indeed increase when the incoming request rate increases. The two will occur together.