Reduce number of transmitted ObjectService.Search
response messages
#2723
Labels
enhancement
Improving existing functionality
I4
No visible changes
S3
Minimally significant
U4
Nothing urgent
Is your feature request related to a problem? Please describe.
object
SEARCH
operations are executed additively on all container nodes. Currently, server writes one response message to the stream per response from each individual node. When each node stores a few objects, this leads to a decrease in performance due to the overhead of additional messages when transmitting a fixed payload (list of object IDs forSEARCH
)Describe the solution you'd like
buffer the results up to the limit volume, and then flush them into the stream. Seems like this component is a good place to do
neofs-node/pkg/services/object/transport_splitter.go
Lines 151 to 184 in 9f4bf88
Describe alternatives you've considered
leave as it is. One of the possible benefits of the current approach with client POV is faster receipt of primary results from faster nodes. However, if the client understands the internal structure of the cluster so deeply and wants to more flexibly control operations on it, then either:
Additional context
currently it's hard to detect specifics of such internal container queries. I've noticed current case during deep debug within #2722
The text was updated successfully, but these errors were encountered: