fxdlxf 发表于 2004-3-23 01:29:53

恳请大家进来看看~~希望可以得到大家的理解

昨天我开了一个匿名FTP,上传了一些ISO文件给网友下载,我上服务器看了一下,感到很开心,那就是有朋友在下载~但有一点却是让我难以释怀的,那就是大家请看下面的netstat -n | grep :1919的结果(我开的是1919的端口):
tcp      0      0 61.145.112.10:1919      218.190.113.31:3709   TIME_WAIT
tcp      0      0 61.145.112.10:1919      218.190.113.31:3710   TIME_WAIT
tcp      0      0 61.145.112.10:1919      218.190.113.31:3711   TIME_WAIT
tcp      0      0 61.145.112.10:1919      218.190.113.31:3704   TIME_WAIT
tcp      0      0 61.145.112.10:1919      218.190.113.31:3705   TIME_WAIT
tcp      0      0 61.145.112.10:1919      218.190.113.31:3706   TIME_WAIT
tcp      0      0 61.145.112.10:1919      218.190.113.31:3700   TIME_WAIT
tcp      0      0 61.145.112.10:1919      218.190.113.31:3702   TIME_WAIT
tcp      0      0 61.145.112.10:1919      218.190.113.31:3703   TIME_WAIT
tcp      0      0 61.145.112.10:1919      218.190.113.31:3696   TIME_WAIT
tcp      0      0 61.145.112.10:1919      218.190.113.31:3697   TIME_WAIT
tcp      0      0 61.145.112.10:1919      218.190.113.31:3698   TIME_WAIT
tcp      0      0 61.145.112.10:1919      218.190.113.31:3699   TIME_WAIT
tcp      0      0 61.145.112.10:1919      218.190.113.31:3695   TIME_WAIT
tcp      0      0 61.145.112.10:1919      218.190.113.31:3408   ESTABLISHED
tcp      0      0 61.145.112.10:1919      218.190.113.31:3744   TIME_WAIT
tcp      0      0 61.145.112.10:1919      218.190.113.31:3489   ESTABLISHED
tcp      0      0 61.145.112.10:1919      218.190.113.31:3745   TIME_WAIT
tcp      0      0 61.145.112.10:1919      218.190.113.31:3740   TIME_WAIT
tcp      0      0 61.145.112.10:1919      218.190.113.31:3741   TIME_WAIT
tcp      0      0 61.145.112.10:1919      218.190.113.31:3742   TIME_WAIT
tcp      0      0 61.145.112.10:1919      218.190.113.31:3743   TIME_WAIT
tcp      0      0 61.145.112.10:1919      218.190.113.31:3736   TIME_WAIT
tcp      0      0 61.145.112.10:1919      218.190.113.31:3737   TIME_WAIT
tcp      0      0 61.145.112.10:1919      218.190.113.31:3738   TIME_WAIT
tcp      0      0 61.145.112.10:1919      218.190.113.31:3739   TIME_WAIT
tcp      0      0 61.145.112.10:1919      218.190.113.31:3732   TIME_WAIT
tcp      0      0 61.145.112.10:1919      218.190.113.31:3733   TIME_WAIT
tcp      0      0 61.145.112.10:1919      218.190.113.31:3734   TIME_WAIT
tcp      0      0 61.145.112.10:1919      218.190.113.31:3735   TIME_WAIT
tcp      0      0 61.145.112.10:1919      218.190.113.31:3728   TIME_WAIT
tcp      0      0 61.145.112.10:1919      218.190.113.31:3730   TIME_WAIT
tcp      0      0 61.145.112.10:1919      218.190.113.31:3731   TIME_WAIT
tcp      0      0 61.145.112.10:1919      218.190.113.31:3724   TIME_WAIT
tcp      0      0 61.145.112.10:1919      218.190.113.31:3725   TIME_WAIT
tcp      0      0 61.145.112.10:1919      218.190.113.31:3726   TIME_WAIT
tcp      0      0 61.145.112.10:1919      218.190.113.31:3727   ESTABLISHED
tcp      0      0 61.145.112.10:1919      218.190.113.31:3721   TIME_WAIT
tcp      0      0 61.145.112.10:1919      218.190.113.31:3722   TIME_WAIT
tcp      0      0 61.145.112.10:1919      218.190.113.31:3723   TIME_WAIT
tcp      0      0 61.145.112.10:1919      218.190.113.31:3716   TIME_WAIT
tcp      0      0 61.145.112.10:1919      218.190.113.31:3718   ESTABLISHED
tcp      0      0 61.145.112.10:1919      218.190.113.31:3719   TIME_WAIT
tcp      0      0 61.145.112.10:1919      218.190.113.31:3712   TIME_WAIT
tcp      0      0 61.145.112.10:1919      218.190.113.31:3713   TIME_WAIT
tcp      0      0 61.145.112.10:1919      218.190.113.31:3714   TIME_WAIT
tcp      0      0 61.145.112.10:1919      218.190.113.31:3715   ESTABLISHED

大家可以看到,上面这么多连接,只有5个是成功的,而其余的TCP连接都处于TIME_WAIT状态.那么为什么会有这么多TIME_WAIT连接呢?那是因为有朋友在使用多于5个线程的连接在下载,当然,这对于大家来说是很正常不过的事情,可是如果您也有过我这样的经历的话,就会明白TIME_WAIT的连接意味着什么.
一百两进个TIME_WAIT的连接当然没什么关系,但如果是1万多个呢?
我就曾经这样过,我的一台服务器(不是上面这台),开了一个免费的下载(单线程)服务,平均连接一般有400到500左右.我曾经用netstat -n | grep TIME_WAIT | wc -l命令查看,得到的结果竟然是14000多个!!!,而我用netstat -n | wc -l 的结果也只是16000多个,也就是说,在我的TCP连接中,竟然有80%以上的连接是处于TIME_WAIT的连接!!!这当然是因为很多人开了多线程下载,一些短连接拼命的连形成的,大家都清楚,我FTP限制了线程数,那么超过了这个数目时,服务器会返回一个IP连接过多的信息,但下载软件却是会无体无止的连接下去的,而这个连接虽然在客户关闭了,但在服务器端却会是处于TIME_WAIT状态~,而且TIME_WAIT状态并不是马上关闭的,一般是2分钟左右的时间才会关闭(RH中),因此这样就会积累大量的这种连接,从而使服务器的资源严重超载,也许大家不会相信,我的服务器在最严重的时候,TIME_WAIT的连接数达到14000多时,我的系统LOAD是达到过750的,那时我远程执行一个命令足足让我等了十分钟之久!

我之所以说上面这些,我是希望大家在下载时,能为服务器考虑一下,尽量不要超过服务器规定的线程下载.这样对自己和对服务器都有好处.毕竟,我相信很多网友给大家提供一些资料下载,都是像我一样,利用公司的服务器资源提供的,而使本身的服务器又要运行大量的正常服务,我只能利用其中的一小部分为大家服务,我不想看着服务器变慢,希望大家可以理解我~同时我也希望在我服务器下载的朋友,能尽量不要超过5个以上的线程进行下载,就当是不我的服务器节省点网络资源和系统资源吧!

同时感谢大家进来看我的心声!

Solaris 发表于 2004-3-23 01:39:23

支持。
我从来不用多线程下载。 :roll:

12543122 发表于 2004-3-23 01:51:36

顶一下.
建议大家开多线程下载时仔细看看,把联接不上的线程关掉,

fxdlxf 发表于 2004-3-23 02:06:31

非常感谢大家的理解!
三楼说的话很有道理,在WINDOWS下我一般看到超过限定IP时,我就会把那些关掉的~~不过现在我把WINDOWS放在LINUX的虚拟机里面了也就很少用多线程了,要么就是用wget,要么就是用opera的下载~

atfa 发表于 2004-3-23 09:02:46

fxdlxf, 你的FTP是什么啊 :?:

fxdlxf 发表于 2004-3-23 11:48:07

晕~~老兄这个也要问啊,从上面的资料不就可以看出来了:
tcp 0 0 61.145.112.10:1919 218.190.113.31:3709 TIME_WAIT

FTP是:
ftp://61.145.112.10:1919/

羽公子 发表于 2004-3-23 16:33:30

严重支持!!
虽然我看不懂那些数据是什么意思
顺便问一句,我在linux下一般用wget下载,算不算多线程?

fxdlxf 发表于 2004-3-23 18:25:00

wget支持多线程的吗?

如果有支持多线程的wget,请发给一个,或许告诉我用 wget下载时如何使用多线程功能?

羽公子 发表于 2004-3-23 21:45:27

恩,就是我可以开好几个wget下载不同的东西

fxdlxf 发表于 2004-3-24 00:23:36

晕~~不过我有一天用google搜索,真的是有一个wget可以进行多线程下载的哦,好像是国内某个大学的学生对wget做的改进~~但我就是找不到下载的~~,记得是在一个很有名的BBS上吧~
页: [1]
查看完整版本: 恳请大家进来看看~~希望可以得到大家的理解