恳请大家进来看看~~希望可以得到大家的理解
昨天我开了一个匿名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个以上的线程进行下载,就当是不我的服务器节省点网络资源和系统资源吧!
同时感谢大家进来看我的心声! 支持。
我从来不用多线程下载。 :roll: 顶一下.
建议大家开多线程下载时仔细看看,把联接不上的线程关掉, 非常感谢大家的理解!
三楼说的话很有道理,在WINDOWS下我一般看到超过限定IP时,我就会把那些关掉的~~不过现在我把WINDOWS放在LINUX的虚拟机里面了也就很少用多线程了,要么就是用wget,要么就是用opera的下载~ fxdlxf, 你的FTP是什么啊 :?: 晕~~老兄这个也要问啊,从上面的资料不就可以看出来了:
tcp 0 0 61.145.112.10:1919 218.190.113.31:3709 TIME_WAIT
FTP是:
ftp://61.145.112.10:1919/ 严重支持!!
虽然我看不懂那些数据是什么意思
顺便问一句,我在linux下一般用wget下载,算不算多线程? wget支持多线程的吗?
如果有支持多线程的wget,请发给一个,或许告诉我用 wget下载时如何使用多线程功能? 恩,就是我可以开好几个wget下载不同的东西 晕~~不过我有一天用google搜索,真的是有一个wget可以进行多线程下载的哦,好像是国内某个大学的学生对wget做的改进~~但我就是找不到下载的~~,记得是在一个很有名的BBS上吧~
页:
[1]