1.HTML静态化
HTML静态化的作用是效率高,消耗小.
对大量内容并且频繁更新的网站,我们无法全部手动去挨个实现,于是出现了我们常见的信息发布系统CMS
CMS(content management system)内容管理系统
CMS的内容:隐藏在内容管理系统(CMS)之后的基本思想是分离内容的管理和设计。页面设计存储在模板里,而内容存储在数据库或独立的文件中。当一个用户请求页面时,各部分联合生成一个标准的HTML页面。
2.图片服务器分离
图片是最消耗资源的,于是我们有必要将图片与页面进行分离,这是基本上大型网站都会采用的策略,他们都有独立的、甚至很多台的图片服务器。这样的架构可以降低提供页面访问请求的服务器系统压力,并且可以保证系统不会因为图片问题而崩溃。
3.数据库集群、库表散列
大型网站都有复杂的应用,这些应用必须使用数据库,那么在面对大量访问的时候,数据库的瓶颈很快就能显现出来,这时一台数据库将很快无法满足应用,于是我们需要使用数据库集群或者库表散列。
集群是通过提高单位时间内执行的任务数来提升效率,数据库的集群根据DB的不同会有相应的解决方案.
库表散列是利用hash算法<密码学的基础>而衍生出来的.Hash算法重要的两个性质:不可逆(即当只知道某数据的hash值的时候无法求出数据)和无冲突(几乎不可能有两个数据的hash值是一样的).其核心就是一种摘要算法:将任意长度的二进制值映射为较短的固定长度的二进制值(哈希值)减少了数据的比较量.
4.缓存
所谓的缓存就是把数据放置到内存中,前台在请求的时候直接从内存中读取数据,而不需要去查询数据库或者读取文件等,这样就能做到最快的响应.
5.镜像
镜像网站是将一个完全相同的站点放到几个服务器,分别有自己的URL,在这些服务器上互为镜像网站.
分流作用:当一个网站的流量过高,服务器不能承受的时候,那么这时候就能起到给服务器减压分流的作用.
6.负载均衡
负载均衡就是将负载(工作任务、访问请求等)进行平衡、分摊到多个操作单元(服务器、组件等)上进行执行,是解决高性能,单点故障(高可用,如果你是单机版网络,一旦服务器挂掉了,那么用户就无法请求了,但对于集群来说,一台服务器挂掉了,负载均衡器会把用户的请求发送给其他的服务器进行处理),扩展性(这里主要是指水平伸缩)的终极解决方案。
7.减少session的使用
Session是在服务器端生成的,理论上session是可以释放的,不过很多时还有很多不释放,另外用Session方式如果访问量比较多服务器端的压力会比较大.如果信息不是很隐私,可以考虑将信息保存到客户端(cookie)
8.CDN技术
内容分发网络(Content Delivery Network)
CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决Internet网络拥挤的状况,提高用户访问网站的响应速度。