[問答] socket的傳輸速率

看板Network作者 (raison detre)時間13年前 (2012/02/29 16:57), 編輯推噓2(208)
留言10則, 3人參與, 最新討論串1/1
小弟最近在開發一個server-client的程式 但是遇到了效率上的問題 由client發送一筆資料到本機的server上 (約120byte) 耗時要0.1~0.2秒 同樣由server回ack給client也是一樣的時間 (約5byte) 同步的狀態下一來一回將近就要0.4秒 一秒處理不到3筆資料 我加了一些trace code server 與client端的資料處理時間幾乎都沒有損耗(0.001~0.005) 我嘗試去調過 TCP_NODELAY, SO_SNDBUF, SO_SNDBUF的設定值 但是也都沒有明顯提升 請問還有什麼方法可以嘗試 或是有甚麼辦法可以去追蹤系統的效能是在哪裡被吃掉(也許是其他程式占用掉) 因為在本機上傳輸資料,這種數據真的是有點誇張 我使用的作業系統是AIX 5.3 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.220.71.34

02/29 18:04, , 1F
多個client同時傳多筆?
02/29 18:04, 1F

02/29 18:41, , 2F
是TCP嗎 每次TCP session都重建嗎 TCP一開始要handshake
02/29 18:41, 2F

02/29 18:41, , 3F
所以會比較慢一點 要不要測測連線建起來後的速率?
02/29 18:41, 3F

03/01 09:47, , 4F
目前是一個client在本機上一來一回的方式傳送
03/01 09:47, 4F

03/01 09:48, , 5F
TCP一開始connect之後就沒有斷掉了
03/01 09:48, 5F

03/01 09:49, , 6F
這速度是連線成功後才開始計算的
03/01 09:49, 6F

03/01 10:43, , 7F
你同步的定義是什麼?
03/01 10:43, 7F

03/01 10:51, , 8F
都是同一個connect,但是資料要一去一回
03/01 10:51, 8F

03/01 11:16, , 9F
資料要一去一回,但不要等ACK回來才送下一筆
03/01 11:16, 9F

03/01 11:19, , 10F
另外,你檔案很小,網路傳輸跑不到全速,能多session會快不少
03/01 11:19, 10F
文章代碼(AID): #1FJUXzVz (Network)
文章代碼(AID): #1FJUXzVz (Network)