[問題] 傳輸時間非線性

看板Ruby作者 (secret)時間17年前 (2008/06/20 16:51), 編輯推噓1(1010)
留言11則, 3人參與, 最新討論串1/4 (看更多)
環境: server1: ruby 1.8.6 (2007-09-24 patchlevel 111) [amd64-freebsd7] server2: ruby 1.8.5 (2006-08-25) [amd64-freebsd6] 狀況: server1傳送不同長度的資料給server2 但資料長度與傳輸時間呈現非線性的關係 我想不出合理的解釋 附錄: code on server1: require 'socket' 1.upto(10) {|i| text = "a" * i*(10**7) start = Time.now bob = TCPsocket.open(ip, port) bob.write("#{text}\n") bob.close puts Time.now - start } code on server2: require 'socket' server = TCPServer.new(ip, port) while (alice = server.accept) start = Time.now tmp = alice.gets puts Time.now - start end #無論server1或server2印出的結果 傳輸的資料長度與時間 都呈現很明顯的非線性關係 #Why? #Thanks. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.109.16.211 ※ 編輯: wwwc 來自: 140.109.16.211 (06/20 17:01)

06/20 17:45, , 1F
1.資料量太小.不足以算出客觀數據
06/20 17:45, 1F

06/20 17:46, , 2F
2.網路塞車或CPU佔用或其它與Ruby本身無關的問題
06/20 17:46, 2F

06/20 17:47, , 3F
你應該是要送個 5MB 和 10MB 然後再比較 2 者
06/20 17:47, 3F

06/20 19:22, , 4F
你的 server1 根本就是 client 吧?
06/20 19:22, 4F

06/20 19:22, , 5F
不是很明白你想表達什麼?有統計報表嗎?
06/20 19:22, 5F

06/20 22:22, , 6F
server1是client沒錯 只是取個名字
06/20 22:22, 6F

06/20 22:24, , 7F
這樣的資料量已經要傳送好幾十秒甚至超過一分鐘 還不夠大嗎?
06/20 22:24, 7F

06/20 22:27, , 8F
已排除CPU佔用的問題 明天我把跑的數據貼上來 謝謝各位幫忙!
06/20 22:27, 8F

06/20 22:40, , 9F
也不是網路塞車 因為這兩台電腦都在實驗室內 狀況可以掌握
06/20 22:40, 9F

06/21 00:45, , 10F
那我另外懷疑是否有防火牆?router?
06/21 00:45, 10F

06/21 12:36, , 11F
回樓上 在相同環境下有用scp傳送大檔案測試 很順且呈線性關係
06/21 12:36, 11F
文章代碼(AID): #18Ms-L-E (Ruby)
討論串 (同標題文章)
文章代碼(AID): #18Ms-L-E (Ruby)