青青子衿, 悠悠我心, 但为君故, 沉吟至今
« 个人外汇管理办法即将实施Google Earth上的日文“伪满洲国”地标 »

解决网站大流量问题的策略

  当一个博客发展为知名博客的时候,博客的访问量通常都会非常大,使用使用虚拟主机的话,个人博客由于访问量过大经常会而引起服务器性能问题,这是很多人的烦恼,有人使用取消RSS等错误的方法来解决问题,显然是下错药,那么对于网站大流量带来的问题,正确的解决方法应该是什么呢?下面是我个人总结的一些经验,供大家参考。

  首先,确认服务器硬件是否足够支持当前的流量。

  普通的P4服务器一般最多能支持每天10万独立IP,如果访问量比这个还要大,那么必须首先配置一台更高性能的专用服务器才能解决问题,否则怎么优化都不可能彻底解决性能问题。

  其次,优化数据库访问。

  服务器的负载过大,一个重要的原因是CPU负荷过大,降低服务器CPU的负荷,才能够有效打破瓶颈。而使用静态页面可以使得CPU的负荷最小化。前台实现完全的静态化当然最好,可以完全不用访问数据库,不过对于频繁更新的网站,静态化往往不能满足某些功能。

  缓存技术就是另一个解决方案,就是将动态数据存储到缓存文件中,动态网页直接调用这些文件,而不必再访问数据库,WordPress和Z-Blog都大量使用这种缓存技术。我自己也写过一个Z-Blog的计数器插件,也是基于这样的原理。

  如果确实无法避免对数据库的访问,那么可以尝试优化数据库的查询SQL.避免使用Select * from这样的语句,每次查询只返回自己需要的结果,避免短时间内的大量SQL查询。

  第三,禁止外部的盗链。

  外部网站的图片或者文件盗链往往会带来大量的负载压力,因此应该严格限制外部对于自身的图片或者文件盗链,好在目前可以简单地通过refer来控制盗链,Apache自己就可以通过配置来禁止盗链,IIS也有一些第三方的ISAPI可以实现同样的功能。当然,伪造refer也可以通过代码来实现盗链,不过目前蓄意伪造refer盗链的还不多,可以先不去考虑,或者使用非技术手段来解决,比如在图片上增加水印

  第四,控制大文件的下载。

  大文件的下载会占用很大的流量,并且对于非SCSI硬盘来说,大量文件下载会消耗CPU,使得网站响应能力下降。因此,尽量不要提供超过2M的大文件下载,如果需要提供,建议将大文件放在另外一台服务器上。目前有不少免费的Web 2.0网站提供图片分享和文件分享功能,因此可以尽量将图片和文件上传到这些分享网站。

  第五,使用不同主机分流主要流量

  将文件放在不同的主机上,提供不同的镜像供用户下载。比如如果觉得RSS文件占用流量大,那么使用FeedBurner或者FeedSky等服务将RSS输出放在其他主机上,这样别人访问的流量压力就大多集中在FeedBurner的主机上,RSS就不占用太多资源了。

  第六,使用流量分析统计软件。

  在网站上安装一个流量分析统计软件,可以即时知道哪些地方耗费了大量流量,哪些页面需要再进行优化,因此,解决流量问题还需要进行精确的统计分析才可以。我推荐使用的流量分析统计软件是Google Analytics(Google分析)。我使用过程中感觉其效果非常不错,稍后我将详细介绍一下Google Analytics的一些使用常识和技巧。



  除非注明,月光博客文章均为原创,转载请以链接形式标明本文地址

  本文地址:http://www.williamlong.info/archives/776.html
  • 文章排行:
  • 1.自己经营太亏了
  • 嘿嘿,我一直希望流量大起来,可怎么优化都不行~一直漂浮了100几位这个样子,怎么办哦
  • 2007/11/9 12:14:45   支持(13)反对(8) 回复
  • 2.玉麒麟博客
  • 怎么让博客流量大起来啊???
  • 2011/12/24 9:43:08   支持(16)反对(12) 回复
  • 4.炎藤
  • 问,有没有bandwidth unlimited的HostSever呢?
  • 2007/1/31 6:54:17   支持(13)反对(10) 回复
  • 5.天天健康
  • 还是希望网站流量大点的好
  • 2008/7/22 10:57:53   支持(13)反对(10) 回复
  • 6.zuokantianya
  • 新站长 没有流量怎么办 希望学学经验
  • 2014/1/6 22:22:41   支持(6)反对(3) 回复
  • 7.nings
  • 呵呵,不知道谁的游说,不许联想已经恢复rss输出了。

    ps:月光,我的blog换地方了,http://nings.cn
  • 2007/1/30 22:52:21   支持(18)反对(16) 回复
  • 9.awflasher
  • 等着你的Google Analytics的使用技巧~
  • 2007/1/31 16:50:24   支持(12)反对(11) 回复
  • 10.流芒阿辉
  • 每天都来学习一下,点点广告,哈哈
  • 2007/8/9 22:08:33   支持(13)反对(12) 回复
  • 14.平凡生活
  • 文章很不错,但大部分人还是租用的虚拟主机,希望可以有一些不错的虚拟主机介绍。
  • 2007/1/30 20:17:56   支持(9)反对(9) 回复
  • 15.chemshows
  • 盗链永远是很头疼的问题,不论是个人小站,还是大站,都受不同程度的盗链困扰,没办法啊,很多站没有防盗链功能
  • 2008/4/7 16:20:01   支持(10)反对(10) 回复
  • 16.vivian
  • 扩大内需,中小企业你准备好了吗?
  • 2009/2/12 11:37:28   支持(10)反对(10) 回复
  • 18.kredarmy
  • 真是在什么山上唱什么歌啊。这些博客怎么流量会这么大啊?
  • 2011/3/18 20:41:14   支持(9)反对(9) 回复
  • 19.wqbloodsky
  • 请问月光现在用的hosting是啥样的?月流量多少昵?
  • 2007/1/30 20:58:30   支持(12)反对(13) 回复
  • 20.孤月吹星
  • 真希望能我的博客也能像你那样成功!
  • 2009/11/16 13:17:42   支持(13)反对(14) 回复
  • 21.漫游神
  • To 楼上
    是上海电信的机房啦,在浦东
    至于流量,我想非常多吧~“月光系”的网站非常出名,尤其是下载站,流量绝对是很高的
  • 2007/1/30 21:05:33   支持(11)反对(13) 回复
  • 23.随欲
  • 呵呵,还没有到这步,希望我的博客流量越来越大.
  • 2009/3/20 20:39:03   支持(8)反对(11) 回复
  • 24.awgooo
  • 个人感觉使用缓存是根本的解决之道,现在硬件的确是飞速发展
  • 2012/12/17 9:38:53   支持(5)反对(8) 回复
  • 27.briangzhu
  • 个人感觉使用缓存是根本的解决之道,现在硬件的确是飞速发展,但是,再快的硬件,也可以被几行垃圾代码全部搞定.

    如果程序做得够好,个人觉得,只有两个因素会影响到响应速度
    1.CPU处理速度(即便再好的程序,全部缓存到内存,访问量大了,最终还是需要CPU的处理.)
    2.网络本身的带宽

    (我们会一如既往地用我们的方式,支持博主继续写出这么好的文章,13楼请含蓄一点,不要这么直白,被Google知道了不好...)
  • 2007/8/10 11:30:39   支持(11)反对(17) 回复
  • 28.google
  • 期待详细介绍一下Google Analytics的一些使用常识和技巧
  • 2007/1/31 8:46:24   支持(7)反对(14) 回复
  • 29.自己经营太亏了
  • 嘿嘿,我一直希望流量大起来,可怎么优化都不行~一直漂浮了100几位这个样子,怎么办哦~~~~~
  • 2007/11/9 12:14:26   支持(7)反对(14) 回复
  • 30.rym1020
  • 有条件的话,CDN是最好的解决办法。现在新浪、腾讯、搜狐、163等大网站都是用的CDN技术。没条件的可以加入CDN联盟组织,我以前就是用了CDN联盟的服务器。
  • 2008/9/28 2:53:34   支持(12)反对(20) 回复
  • 31.chengbo
  • 如果觉得输出RSS比较耗流量,可以用feedburner来烧RSS,让他们为你负担流量
    用feedburner还有一个好处:可以方便的统计RSS的订阅量
  • 2007/1/30 21:35:04   支持(7)反对(19) 回复

发表评论:

 请勿发送垃圾信息、广告、推广信息或链接,这样的信息将会被直接删除。

订阅博客

  • 订阅我的博客:订阅我的博客
  • 关注新浪微博:关注新浪微博
  • 关注腾讯微博:关注腾讯微博
  • 关注认证空间:关注QQ空间
  • 通过电子邮件订阅
  • 通过QQ邮件订阅

站内搜索

热文排行


月度排行

本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享. 转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议.
This site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License.