计算机技术论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

  • 欢迎访问 计算机技术论坛-电脑迷与初学者的家园!由于论坛管理严格,新注册会员可能遇到各种问题,无法解决的请发邮件 admin@jsjbbs.cn
查看: 5907|回复: 7

菜鸟站长必读:网站访问速度变慢的分析

[复制链接]
发表于 2011-9-15 10:28:56 | 显示全部楼层 |阅读模式
决定网站访问速度的因素有很多,比如网站程序和网站内容,服务器带宽大小,服务器性能,和服务器所在机房位置以及服务器线路等方面。大家平时感觉最明显的就是服务器线路和服务器位置的影响。如果你是电信线路,那么访问网通线路时候就会很慢;网通访问电信也一样的。服务器所在地理位置不同,对速度也有影响,因为网络传输要经过不同的网关,一般大家访问本地网站都比外地的快的多,就是这个道理。
事实上普通网站被访问时,占据的带宽都不会很高。做站经验丰富的老站长都明白,其实决定网站访问速度最大的一个因素是网站程序和网站内容。如果你网站程序结构不好,执行起来速度可能会很慢,所以现在很多程序都可以生成静态页面,也是为了提高页面访问速度,静态页访问时候比动态页容易被收录,出现错误和死循环的几率更小。至于网站内容,图片站和下载站都耗费带宽很严重,比普通网站高出来甚至几十倍以上,尤其是被盗连以后更严重。
同样的主机放普通网站可能速度很快,但是图片站或者下载站可能就会很卡很慢。更简单点说,网站内容也可以说是页面内容,普通网站正常页面大小大约在20K--300K之间。超过300K的页面一般不多,就属于是大页面了。如果超过1M的页面,那就更少见了,正规的网站制作公司和专业美工都会把页面大小控制在300K以内,这是做网站的基本常识。就算有flash,也会有提示“等待加载”的说明。遇到图片调用,一般都会把图片压缩,或者调用使用缩略图显示。目前国内很多网店类的网站都有一个通病,首页经常大小超过1M多。如果你网站首页大小为1M的话,访问你站的是2M的ADSL用户,那么他打开你网站最快也需要五六秒时间。因为2M带宽的ADSL,最大理论下载速度是256K,事实上国内能达到200K的速度就已经很理想了,而且是用户电脑没有进行其他操作的状态下才能达到这个理想速度。很多网店类的网站,就算使用独立服务器,访问速度也一样很慢。建议大家应该压缩图片,首页使用缩略图等方法改进一下,或者减少首页调用图片数量。否则访问首页就和下载一个小软件一样了,很变态的现象。

一般来说,网站打开的速度是很快的(除非你的网络非常差)。如果你发现别人的网页打开速度都很快,或者你的网站以前打开的速度也很快,只是做着做着就越来越慢了,那么不外乎是以下几个原因:

原因一、你用了很多javascript的特效。
  例如鼠标的特效啊、页面上的栏目的特效啊、状态栏的特效啊,等等。这些特效的原理是先由服务器下载到你本地的机器,然后在你本地机器上运行产生,然后你才能看到的。特效做的多了,在你本地机器上就要运行大半天才能全部完成,而如果你的机器配置一般的话,那就更慢了,即使全部特效都运行完成了,你的页面使用起来也会很不舒服。
  javascript带来的还不止是速度慢,还有很重要的一点就是大多数人使用它并不知道它是怎么写的,只是从别的站拷贝过来用的,一来在流传的过程中,会存在失去了部分代码的情况,结果你拷贝过来的可能是错误或不完整的代码,这样会导致你的网站瘫痪;二来是如果有恶作剧的人将恶意代码伪装成特效代码给你,而你又不懂,拷到网站上,那么不但你打开你的网站的时候会受害,别人打开你的网站时也很有可能成为受害者。
  所以,建议一定要少用javascript特效(三样特效以内),否则肯定对你的网站有害无益。如果要用的话要选择比较安全的特效代码,到比较好的站点去拷贝,不要到杂七杂八的站去。
原因二、你在页面上用了未经处理的大的图片。
  图片经过处理,可以使字节数变得较小,否则很多的图片一开始都会占用很多空间又使网站打开速度变得很慢。可用photoshop、fireworks等作图软件将图片尺寸缩小。
原因三、你的页面上有flash或影视文件。
  很多网友喜欢在自己的站的首页上做上flash的动画、歌曲,或者电视台直播、电影直播之类。其实这样会使你的页面打开的速度大大变慢。flash虽然是可以边下载边播放,但是往往由于网络的原因,不能顺利下载,结果你的页面就会一直处于等待下载的状态,而不能顺利完成。电影电视直播更糟糕,它们本身一般要经过一小段时间的缓冲和下载之类才能开始播放,如果网络不好的话还下载和播放不了。所以建议你少用大的flash、少用影视直播(最好是不用)。
原因四、过多地引用了其他网站的内容
  这一点其实也包括你引用其他网站的图片、影音文件等,不过还包括你引用其他网站的一切内容。如果直接在页面引用别的网站的东西,而那个网站的速度又慢,或者那个网站的该页面已经不存在了,那么你打开的速度就会很慢了。
原因五、你将自己在别的地方申请的一些域名指向到自己的网站上
  一般如果是顶级域名直接指向过来,那对速度不会有很大影响。不过有很多是在别的地方免费申请的若干级的域名,它本身速度就很慢,再经过几次转向,速度就更慢了。
原因六、你的站上可能有错误的代码。将错误代码找出来改正吧

1、网络的传输质量
事实上除正常重启外服务器是很少当机的,一年也难得碰上一回。但由于目前国内宽带用户的急剧增长,和不断出现的网络病毒,目前国内的网络并不是很好(相信大家都有感觉),到处都面临着线路切割和扩容。所以会出现部分地区暂时访问很慢甚至不能访问的情况。遇到这样的情况请不要着急,因为你不能访问并不表示人家不能访问,你慢并不表示人家也慢。您可以问问外地的网友,他们如果都正常的话,我们建议您去安心睡一觉,起来以后说不定也就好了。至于睡多少时间,就只能看中国网络的改造效率了:)。

2、服务器的繁忙程度
  服务器上运行的网站并不是只有一个,每个网站又有很多的人访问,就是说服务器工作的时候平均都连接着好几千个用户,任何用户对服务器发出请求的时候,服务器都会调用一定的资源来处理用户的请求,一般动网论坛的一次请求大约能占用3%的CPU和100KB的内存,可以想象,当某一瞬间正好有很多的用户同时发出请求,那么服务器自然会忙不过来,这个时候服务器就需要等待有空余资源再来运行用户的请求,用户端就会出现变慢的情况。
所以理论上,服务器上开设的网站越少,整体速度就越快,但不能保证出现暂时的停顿。对于超强型以上的网站,我们会定期转移到独立的服务器,同时控制单服务器的网站数量,超强型以下的网站,我们会根据服务器的负荷来决定单个服务器的网站数量。
3、页面本身的因素
用户打开一个页面,服务器处理完程序后会把页面上的内容传给用户。用户接收完所有的数据以后才能完全打开页面。很明显,当然服务器处理程序很慢或者页面上的内容很大的时候,都会影响用户打开页面的速度。
  服务器处理程序的时间,就是很多论坛下面显示的页面执行时间,由于这个是体现服务器的运算时间,所以这个时间和用户的上网速度是无关的,就是说用户用MODEM和ADSL上网,这个执行时间应该是一样的。
  一般服务器处理程序的时间在1000毫秒以下的时候,用户基本上没任何感觉,因为服务器已经在1000毫秒(1000毫秒=1秒)内处理完所有的内容,剩余的时间都是在传递数据。如果你的页面上涉及的文件很大,比如有1MB的图片在做背景,浏览者和服务器之间,就算能达到100KB/S的速度,他也至少需要10秒钟才能打开这个页面。
  所以我们建议页面上尽量不要放置过多、过大的内容。这也是插件版本的论坛速度慢的原因之一,因为插件版用了大量的图片、FLASH对页面进行了美化,同时在页面上增加了很多显示的内容。
4、ACCESS数据库的原因
  现在网上绝大多数网站都是ACCESS+ASP的形式,因为ACCESS结构简单容易处理,而且也能满足多数的网站程序要求。
  ACCESS是小型数据库,既然是小型就有他根本的局限性,以下几种情况下数据库基本上会吃不消:
  A、数据库过大,一般ACCESS数据库达到50M左右的时候性能会急剧下降!
  B、网站访问频繁,经常达到100人左右的在线。
  C、记录数过多,一般记录数达到10万条左右的时候性能就会急剧下降!
(注:以上3条只是我们多年以来的经验结果,并不只绝对值,具体视情况不同浮动较大)
  ACCESS论坛(如动网)大了以后就很容易出现数据库方面的问题,当你的论坛数据库在30M以上,帖子5万左右,在线也在100人左右的时候,你的论坛基本上都在处理数据库上花时间,这个时候很可能就会出现数据库吃不消的情况。
  一般症状是所有涉及数据库的页面,突然运行都慢的出奇(执行时间达到5秒以上甚至几十秒),涉及HTML和纯ASP运算的页面都正常,等过一段时间(约 10分钟或更长)以后又突然恢复。这个时候你可以用一般ASP探针测试一下,如果服务器的运算时间正常,而你的帖字量又比较大,就是数据库方面的问题了。
  解决方法:
由于这是ACCESS本身的局限性,所以解决的方法除了减少数据量和更换大型的数据库论坛以外也没什么好办法,也就是现在常说的论坛危机,也是大型的论坛都不是ACCESS的原因。我们推荐以下方法:
  A、临时解决办法:定期删除多余的数据、压缩数据库,限制论坛灌水,甚至限制论坛注册。如果是动网论坛,可以使用论坛自带的分表储存功能,会有较好的效果
  B、比较长远办法:更换论坛和数据库,一般都采用动网sql商业版本+MSSQL 的方案来解决,不过这个需要比较大的投资。因为mssql2000和 ACCESS相比需要更多的资源,光是占内存上,就可以达到每一个在线1M以上的程度,如果你的SQL论坛有100人在线就会吃掉服务器至少150M以上内存。


点评

有收获了一些知识,谢谢老站长  发表于 2011-9-16 12:15
发表于 2011-9-15 10:41:55 | 显示全部楼层
写的真不错啊,学到了很多,关于网站我是一点不熟悉的,好好学习!{:soso__7094004581727553860_1:}
发表于 2011-9-17 14:59:10 | 显示全部楼层
外行表示看的头大、、、
发表于 2011-9-23 21:24:24 | 显示全部楼层
这个好,可以根据问题设置相应的对策。
发表于 2012-1-28 11:44:12 来自手机 | 显示全部楼层
懵懵懂懂。。
发表于 2012-2-12 12:05:02 | 显示全部楼层
定期删除多余的数据、压缩数据库,限制论坛灌水,甚至限制论坛注册。如果是动网论坛,可以使用论坛自带的分表储存功能,会有较好的效果
发表于 2012-2-28 08:12:21 | 显示全部楼层
收藏了,也许有朝一日能用到
发表于 2012-4-28 04:18:06 来自手机 | 显示全部楼层
很详细,要去试试
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

无图版|手机版|计算机技术论坛 JSJBBS.CN @ 2008-2024 ( 鲁ICP备17021708号 )

技术支持 : 北京康盛新创科技有限责任公司

快速回复 返回顶部 返回列表