sunce4t commented on PR #3034:
URL: https://github.com/apache/brpc/pull/3034#issuecomment-3380057198

   > 我们没有遇到,不过应该是有些人也遇到过,通过调整sq和rq的数量就解决了,我觉得问题和你描述的也有联系。 cq; // NOTE: Since we 
hope to reduce send completion events, we set signaled // send_wr every 1/4 of 
the total wnd. The wnd will increase when the ack // is received, which means 
the receive side has already received the data // in the corresponding send_wr. 
However, the ack does not mean the send_wr // has been removed from SQ if it is 
set unsignaled. The reason is that // the unsignaled send_wr is removed from SQ 
only after the CQE of next // signaled send_wr is polled. Thus in a rare case, 
a new send_wr cannot be // posted to SQ even in the wnd is not empty. In order 
to solve this // problem, we enlarge the size of SQ to contain redundant 1/4 of 
the wnd, // which is the maximum number of unsignaled send_wrs. 我认为这段注释大概描述了这个问题
   attr.cap.max_send_wr = sq_size * 5 / 4; /*NOTE*/
   我们没有调整任何参数,默认就是brpc的参数,然后遇到了这个问题。这意味着预留的四分之一是不够的,当然我们可以通过


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to