网站打开慢是一个复杂的事情,原因多种多样,主要可以从服务器、网站内容、客户端三个方面去着手分析。
一、服务器
1、服务器的CPU、内存资源不足
如果服务器上的CPU使用率特别高、内存不够用等均会造成网站打开慢。这跟我们普通的PC一样,如果有其它程序在大量使用CPU,那你再玩游戏肯定不流畅是吧?
2、CC攻击
服务器被CC攻击将消耗连接数,同时消耗CPU、内存,还有可能消耗数据库读写资源或者磁盘读写资源。所以在被CC攻击时,轻则网站变慢,重则网站瘫痪打不开。
3、服务器带宽不足
IDC机房的服务器,带宽资源都是有上限的,超过这个上限,网站打开就会很慢了。
4、服务器硬盘问题
如果服务器硬盘上有坏道,而网站的数据正好在这个坏道上,那么在打开该网站时,服务器将去坏道上取数据。我们知道在坏道上取数据,那感觉就是非常、非常卡!
二、网站内容
1、页面上的图片过多
打开一个网页,其实是要打开这个网站文件,以及这个网页上相关联的所有文件,如css样式文件、js脚本文本、gif/jpg/png图片文件、swf的Flash文件等等。很多网页设计页为了让网页更精美、漂亮,使用了很多大尺寸、高清晰的图片,这将使得网站的访问速度变慢。还有一些做网店的朋友,想在一个页面上尽量展示更多的商品,从而让某个页面变得特别大。我们来算个账,如果1个页面,我们显示100个商品,每个商品配一张图,每个图100KB(假设这张图没有做缩略处理),那打开这个网页,至少要相当于从服务器上下载10MB的数据。网速快的小伙伴们可能在半分钟内搞定,如果是使用2Mbps的伙伴们,满打满算都要两分钟。如果要两分钟页面才能打开,你觉得用户还在等待吗?
2、页面上的Flash过大
Flash过大与图片过多是同样的问题,就不重复了。
3、与数据库的数据读写太过频繁
数据库是用于存储数据,并拿来查询的。于是很多开发人员当数据库读写不要钱一样,毫无规划、毫无顾虑的去读写。洪哥就见过一个网站的首页进行了两千多次数据库的查询(洪哥直接无语了)。数据库读写是非常消耗系统资源的,一个正常的动态页面,有50%以上的时间都是给读写数据库用掉了。所以对于数据库,能不读就不读,能一次读出来就不要读两次!
值得一提的是,数据库调用已经是很慢了,如果是调用非本机的数据库,那将更加缓慢。这一点表现在MySQL上尤其突出。当然了,如果访问的数据库服务器需要跨机房、跨运营商的网络,那将慢得惊天动地啊!
关于数据库还要提一点,如果数据库本身的负载很高(并发连接数很大),甚至瘫痪了,那将严重影响网站的速度。因为数据库不能及时的给出数据,那网站程序也只能干等。如果数据库服务器对外开放端口(如MySQL的3306、SQL Server的1433),则很有可能遭受直接针对数据库服务器的攻击,很快数据库服务器的恶意连接将把数据库服务器瘫痪掉,从而达到将网站搞瘫痪的目的!
4、大量读写磁盘
硬盘读写与数据库读写是类似的。所说很早以前国内一个Perl写的论坛,很火,但是打开速度有点慢(当时没有使用数据库,所有的内容都是存在文件中的)。后来,动网论坛出来后,它就消失在历史的长河里面了。当然,因为安全性的问题,Discuz!等新论坛又似乎将动网论坛那啥了……
5、程序中有大量需要等待的代码
比如程序中有一段代码是要从另外一个网站去获取数据的,比如说是获取一个天气情况。在未获取到返回结果之前,程序必须得一直处于等待状态,这就使得网站的打开速度变得极其缓慢。
比较明显的是在网页中引用其它站的JS、CSS、图片,用好了会大大提高网站的速度,用得不好将严重拖慢本站的速度!洪哥喜欢引用Google或微软网站的jQuery,暂时用得很爽。
三、客户端
1、客户端上网速度限制
客户端主要是指网络原因,虽然服务器出来是很快的,但本地上网速度不快的话,那也很慢。
2、跨运营商
还有一个就是跨运营商的问题!所谓世界上最遥远的距离不是天涯海角,而是电信与联通……你懂的。
要饭二维码
洪哥写文章很苦逼,如果本文对您略有帮助,可以扫描下方二维码支持洪哥!金额随意,先行谢过!大家的支持是我前进的动力!

文章的版权
本文属于“洪哥笔记”原创文章,转载请注明来源地址:网站打开慢的原因分析:http://www.splaybow.com/post/website-dakaiman.html
如果您在服务器运维、网络管理、网站或系统开发过程有需要提供收费服务,请加QQ:8771947!十年运维经验,帮您省钱、让您放心!
亲,如果有需要,先存起来,方便以后再看啊!加入收藏夹的话,按Ctrl+D!
发布时间:2013/8/25 23:41:52 | 编辑:洪哥 | 分类:虚机 | 浏览: