實(shí)際上,必須在TCP連接上發(fā)送和接收數(shù)據(jù),并且還會(huì)有其他狀態(tài),例如TIME_WAIT。
在這些復(fù)雜的情況下,連接占用多少內(nèi)存?費(fèi)格用了7天的實(shí)驗(yàn)結(jié)果告訴您!實(shí)驗(yàn)1:建立空連接實(shí)驗(yàn)2:客戶端=>服務(wù)器發(fā)送數(shù)據(jù)測(cè)試實(shí)驗(yàn)3:服務(wù)器=>客戶發(fā)送數(shù)據(jù)測(cè)試實(shí)驗(yàn)4:非ESTABLISH狀態(tài)的摘要讓我們總結(jié)一下實(shí)驗(yàn)中的數(shù)據(jù)。
可以看出,內(nèi)核位于套接字內(nèi)存中,已經(jīng)采用了許多方法來進(jìn)行成本優(yōu)化:1.內(nèi)核將嘗試及時(shí)恢復(fù)發(fā)送緩沖區(qū)和接收緩沖區(qū),但較高的版本會(huì)更好。
2.最小的發(fā)送和接收緩沖區(qū)一定不能是rmem內(nèi)核參數(shù)中的最小值。
實(shí)際上可能會(huì)更小3。
例如,在其他狀態(tài)下,TIME_WAIT也將回收不必要的socket_alloc和其他對(duì)象