自从过了个年,blog经常出现“Service Unavailable”错误,这让我很郁闷,不知和E动的人联系了多少次,客服说是因为我的网站访问量大,超出了连接数所致,建议我升级虚拟主机。我不相信,每天区区几千的访问量能有多大的瞬时连接数?下载了IIS的log自己检查咯。
对log不熟悉,看了半天也没看出有什么异常,只是发现有一条请求URL(/stat/stat_online.asp siteid=1&o=function%20getDate()%20{%20%20%20%20[native%20code]}function%20getMinutes()%20{%20%20%20%20[native%20code]}function%20getSeconds()%20{%20%20%20%20[native%20code]})特别频繁,几乎占了整个log纪录的一半左右。这是我自己挂的站点访问系统,用的是阿江统计2.1版,那个请求页面是用来纪录在线人数的,我又顺着代码刨了个根,发现这个请求会在每个打开的页面中用javascript的计数器进行循环调用,每隔40秒调用一次,以便向服务器报告自己是在线的。
嗯,怀疑就是这个东东在做坏,屏蔽之!
一上午好像都每出现问题了,我再观察一阵,希望问题真的解决了。
在这里,有必要给新手们解释一下IIS的连接数。下面这篇文章是我从网上找到的,转载到此:
关于IIS连接数的几种解释
购买虚拟主机时,很多主机商都会注明某个型号的空间IIS连接数,究竟这个IIS连接数是什么东西?是否就是论坛同时在线人数?肯定不是那么简单的!差不多每个主机供应商都有一套自己的说法,IIS连接数微软也没有给出很明确的解释,我在动网论坛看到两个比较客观的说法,转载一下供需要朋友参考
动网注册用户:万事通
关于同时连接数与在线人数问题的详解
很多用户对连接数的概念认识都很模糊,现介绍如下:
1、浏览者访问站点,必需与站点通过TCP协议,建立连接。这个连接在从服务器上读取信息时存在,读取结束时,一般即自动关闭。所以,当一个页面已经完全地显示在客户端的显示器上时,使用的连接也许已经关闭了。
2、每个浏览者,访问某站点时,可能会占用1——3个连接,这是由计算机自动处理的,这样做的目的是为了加快速度。
相关问题:所以,对于连接数为30的基础型主机而言,有时只能十几个人访问,就不足为怪了。
3、论坛中统计的在线人数,是以某一时间段内访问论坛的活动人数为标准的,与连接数应无关系。比如动网论坛,默认好象是40分钟内(?记不清了)的活动人数。也许论坛显示某用户还在线,但该用户由于不(正)在读取论坛中页面,所以也就不会占用连接数。
相关问题:
(1)所以,只要浏览者对论坛的访问不过于集中,不会在某一时间点超出最大同时连接数,则论坛中统计的在线人数,会大大超出空间允许的最大同时连接数。
(2)某些用户为了显示论坛的人气,可以在调大论坛统计在线人数的时间范围(动网论坛提供此功能),甚至可以将一天内所有浏览你站点的人,都算作在线人数。
4、虽然服务器中可以规定每个站点的最大连接数,但同时也存在服务器的总计最大连接数。所以,即使规定用户站点的最大连接数为不限,当服务器达到了最大连接数时,仍不能访问站点。而服务器的最大连接数一般在1000——2000。
相关问题:
(1)这就是为什么服务商敢于开出不限连接数的主机,本质上不是无限连接数的。
(2)热点网络提供的主机,允许连接数均较高,应该可以满足用户需求。
5、现在的主机服务中,有些服务商利用许多人对上述概念模糊,而误导消费者,所以购主机者应谨慎从事
动网注册用户:521h
了解什么是IIS连接数
IIS连接数指并发连接数,什么意思呢?
要分几种情况:(以100M空间50人在线为例)
A 用户单点下载你的文件,结束后正常断开,这些连接是按照瞬间计算的,就是说你50人的网站瞬间可以接受同时50个点下载
B 用户打开你的页面,就算停留在页面没有对服务器发出任何请求,那么在用户打开一面以后的20分钟内也都要算一个在线,就是说你50人的网站20分钟内可以接受不同用户打开50个页面
C 上面B的情况用户继续打开同一个网站的其他页面,那么在线人数按照用户最后一次点击(发出请求)以后的20分钟计算,在这个20分钟内不管用户怎么点击(包括新窗口打开)都还是一人在线。
D 当你的页面内存在框架(Iframe),那么每多一个框架就要多一倍的在线!因为这相当于用户同一时间向服务器请求了多个页面。
E 当用户打开页面然后正常关闭浏览器,用户的在线人数也会马上清除。
然后了解什么是论坛在线人数。
论坛在线只是计算一定时间内的活动用户数。
这里的时间用户可以自己设定,动网论坛默认为40分钟的相对准确值。
根据上面的说明,显然论坛在线和IIS连接数的概念不同
为什么会出现IIS连接数和论坛在线不符合的情况?
现具体分析如下:
1:您使用了插件版论坛或者美化版论坛!
现在的插件很垃圾,不但占服务器资源,而且会使论坛运行变慢(没有插件可以快一倍以上),同时很占在线人数,有的插件调用很多框架,少则2、3个,多则4、5个! 甚至有在线播放音乐,这样一个人在线就相当与很多人在线!而美化版论坛因为使用大量的图片,也同样比标准版论坛占用IIS数量大。
2:您的网站是主页+论坛的形式!
这样主页和论坛要争夺你的在线人数!
3:你的论坛内部有播放器!
一个人在线,然后他在线播放音乐,就占二个人在线!
4:你的论坛内部存在框架形式的网页!
每一个框架,就多一倍的在线!
5:你的论坛设置在线时间过小!
动网默认为40分钟,因为论坛在线只是计算一定时间内的活动用户数,当您设定的时间较小的时候,看起来论坛在线的人数就自然少了!
6:你的空间存在多个论坛!
有的客户在一个空间里上传多个论坛,如bbs bbs1 bbs2 等等 等等
毫无疑问,这样个论坛也是要争夺再线人数的!
7:你的论坛图片等文件被人盗链!
比如:你的论坛有张图片文件,被粘贴(注意是粘贴不是上传)到别的论坛!
别的论坛的用户在浏览该文件的时候也算一个在线人数!
尤其是LOGO连接的时候注意,一定要对方把您的LOGO上传到他的空间!
8:你的空间上放有下载文件!
如果用户用网络蚂蚁类的软件,每一个线程就表示一个在线,非常厉害!
——————————————————————————————————
解决办法:
1:去掉垃圾的插件版,用标准版!
2:尽量不要采用框架的形式制作页面(IFrame也属于框架,包括在内)!
3:不要放任何的音乐、电影、下载!
4:防止盗连情况的发生!
5:升级购买支持更多在线人数的空间!