![]() ![]() Then if the data continues to be sent, the buffer cannot be stored, and the receiving end has to discard it. Data sent to the receiving end is similar to the process described above, the kernel is responsible for receiving the packet into the buffer, and then the upper layer of applications to deal with the contents of this buffer, if the buffer at the receiving end is too small, then it is easy to bottleneck, that is, the application has not yet had time to process it is filled. Protect the receiving end, the data sent will not exceed the buffer size of the receiving end (Flow control). TCP, in order to optimize transmission efficiency (note that transmission efficiency here is not just the efficiency of a TCP connection, but the efficiency of the network as a whole), will: This happens when the sender application has written the content to the system buffer, but the system does not send it out quickly. Most of the cases are the 2nd and 3rd cases, which are more difficult to troubleshoot. If the buffer is full, the application blocks (if it uses the block API) until the buffer is available and then continues to write, in producer and consumer mode.īottlenecks on the sending side are generally easier to troubleshoot, even by looking at the application logs to see when they are blocked.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |