大型网站架构演进的五大阶段盘点
大型网站都是从小型网站发展起来的,网站架构也是一样,网站刚开始搭建处于雏形阶段,访问量小,一台服务器完全够用,也是大部分企业级应用的选择。应用程序,数据库,文件都部署在一台服务器的,通常服务器选用Linux,应用程序选用PHP,然后部署在Apache 上,数据库使用MySQL,汇集各种开源软件以及一架廉价的服务器就可以进行开发。
这个时候由于网站具备了一定的特色,吸引了部分人访问,逐渐你发现系统的压力越来越高,响应速度越来越慢,而这 个时候比较明显的是数据库和应用互相影响,应用出问题了,数据库也很容易出现问题,而数据库出问题的时候,应用也容易出问题,于是进入了第一步演变阶段: 应用服务和数据分离,变成了两台机器,这个时候技术上没有什么新的要求,但你发现确实起到效果了,系统又恢复到以前的响应速度了,并且支撑住了更 高的流量,并且不会因为数据库和应用形成互相的影响。
好景不长,随着访问的人越来越多,你发现响应速度又开始变慢了,查找原因,发现是访问数据库的操作太多,所以响应变慢,但数据库连 接又不能开太多,否则数据库机器压力会很高,于是进入了第二步演变阶段: 使用缓存改善网站性能, 网站的缓存分为两种: 缓存在本地服务器上的本地缓存,缓存在远程服务器上的远程缓存,本地缓存的访问速度要比远程缓存的更快。但是受应用服务器的内存限制,往往会存在本地缓存和应用程序竞争内存的情况,这种情况在远程服务器上就不会存在,远程分布式缓存可以使用集群的方式,部署大内存的服务器使用专门的缓存服务器,理论上可以做到不受内存限制的缓存服务。使用缓存后,有效的改善了数据库访问的压力,整体系统的速度确实是提升了,
但是随着访问量的增加,发现系统又开始变的有些慢了,于是进入了第三步演变阶段:增加页面片段缓存,在采用 片段缓存再次提高了系统的缓存效果后,系统的压力确实进一步降低了,但同样,随着访问量的增加,系统还是开始变慢,经过查找,可能会发现系 统中存在一些重复获取数据信息的地方,像获取用户信息等,这个时候进入了第四步演变阶段:数据缓存,于是将这些数据缓存到本地内存,改变完毕后,完全符合预期,系统的响应速度又恢复了,数据库的压力也再度降低了不少。
发现随着系统访问量的再度增加,webserver 机器的压力在高峰期会上升到比较高,这个时候进入了第五步演变阶段:开始考虑增加一台服务器,这也是为了同时解决可用性的问题,避免单台的服务器关机的话就没法使用了,在做了这些考虑后,决定增加一台服务器,系统终于是又恢复到了以往的速度。
- 上一篇:网页设计的一般流程
- 下一篇:企业网站建设的基本步骤都有哪些?你注意到了吗?