高并发高访问量网站的运维技术
1. 前言
对于小型的网站, 可以使用最简单的 html 静态页面就实现了, 配合一些图片达到美化效果,
所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单,随着互联网
业务的不断丰富,尤其对于大型网络来说,所采用的技术更是涉及面非常广,从硬件到软件、
编程语言、数据库、 web 服务器、防火墙等各个领域都有了很高的要求,已经不是原来简单的
html 静态网站所能比拟的。
大型网站,比如大型门户网站。在面对大量用户访问、高并发请求方面,基本的解决方案
集中在这样几个环节:使用高性能的服务器、高性能的数据库、高效率的编程语言,还有高性
能的 Web 容器。以上几个解决思路在一定程度上也意味着更大的投入,并且这样的解决思路具
备瓶颈,没有很好的扩展性,本文将论述从低成本、高性能和高扩张性的角度来考虑对高并发
高负载网站的运行与维护技术。
2. HTML 静态化技术
在站点流量很大的时候,为了提高系统性能,减短系统响应时间,最简单的方法其实也是
最有效的方法就是把站点做成静态的,因为大家都知道效率最高、消耗最小的就是纯静态化的
html 页面,所以我们应该尽可能使我们的网站上的页面采用静态页面来实现。然而静态页面在
性能上虽然具有不少优势,但是,相对动态页面,其灵活性不够,扩展性不好,以后维护起来
也比较麻烦。特别对于大量内容并且更新频繁的网站,我们无法全部手动去挨个实现页面静态
化,那么我们一般可以采用设计信息发布系统 CMS,先做好静态页面的模板,在通过信息发布
系统从数据源读取数据,生成 html 代码块替换模板中的标签,然后生成静态文件。像我们常访
问的各个门户站点的新闻频道,甚至他们的其他频道,都是通过信息发布系统来管理和实现的,
信息发布系统可以实现最简单的信息录入自动生成静态页面,还能具备频道管理、权限管理、
自动抓取等功能,对于一个大型网站来说,拥有一套高效、可管理的 CMS 是必不可少的。
同时, html 静态化也是某些缓存策略使用的手段,对于系统中频繁使用数据库查询但是内
容更新很小的应用,可以考虑使用 html 静态化来实现,比如论坛中论坛的公用设置信息,这些
信息目前的主流论坛都可以进行后台管理并且存储再数据库中,这些信息其实大量被前台程序
调用,但是更新频率很小,可以考虑将这部分内容进行后台更新的时候进行静态化,这样避免