作者wwwc (secret)
看板Ruby
标题[问题] 传输时间非线性
时间Fri Jun 20 16:51:30 2008
环境:
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)
1F:→ shelary:1.资料量太小.不足以算出客观数据 06/20 17:45
2F:→ shelary:2.网路塞车或CPU占用或其它与Ruby本身无关的问题 06/20 17:46
3F:→ shelary:你应该是要送个 5MB 和 10MB 然後再比较 2 者 06/20 17:47
4F:→ godfat:你的 server1 根本就是 client 吧? 06/20 19:22
5F:→ godfat:不是很明白你想表达什麽?有统计报表吗? 06/20 19:22
6F:→ wwwc:server1是client没错 只是取个名字 06/20 22:22
7F:→ wwwc:这样的资料量已经要传送好几十秒甚至超过一分钟 还不够大吗? 06/20 22:24
8F:→ wwwc:已排除CPU占用的问题 明天我把跑的数据贴上来 谢谢各位帮忙! 06/20 22:27
9F:→ wwwc:也不是网路塞车 因为这两台电脑都在实验室内 状况可以掌握 06/20 22:40
10F:推 godfat:那我另外怀疑是否有防火墙?router? 06/21 00:45
11F:→ wwwc:回楼上 在相同环境下有用scp传送大档案测试 很顺且呈线性关系 06/21 12:36