内容来源:http://blog.csdn.net/hdhai9451/article/details/44174559html
一、html静态化web
例如1--门户和信息发布类型的网站:对于大量内容而且频繁更新的网站,咱们可使用内容管理系统cms,例如新闻频道,能够经过信息录入实现最简单的自动生成静态页面。同时还能具有频道管理、权限管理、自动抓取等功能。算法
例如2--社区类型的网站:对于交互性很高的论坛网站来讲,尽量静态化也是提升性能的必要手段,即增删改后当即生成对应的静态文件。(详情查看 关于Discuz! X3.2 URL 静态化)例如像猫扑的大杂烩和网易社区就是使用了这个策略。数据库
例如3--频繁使用数据库查询:有些信息大量被前台程序调用,可是更新频率很小,能够考虑将这部份内容进行后台更新的时候,进行静态化。缓存
二、图片服务器分离服务器
对于web服务器来讲,不论是Apache、IIS仍是其余容器,图片是最消耗资源的,因而咱们有必要将图片与页面进行分离,提供一台独立的图片服务器。cookie
三、数据库集群、库表散列网络
好比用户表,按照用户ID进行表散列,这样就可以低成本的提高系统的性能而且有很好的扩展性。session
sohu的论坛就是采用了这样的架构,将论坛的用户、设置、帖子等信息进行数据库分离,而后对帖子、用户按照板块和ID进行散列数据库和表,最终能够在配置文件中进行简单的配置便能让系统随时增长一台低成本的数据库进来补充系统性能。架构
四、缓存
1.架构方面的缓存:Apache提供了本身的缓存模块,也可使用外加的缓存模块。
2.网站程序开发方面的缓存:
使用Asp.Net缓存;
使用Remoting Singleton缓存;
使用内存映射文件;
使用SQL Server缓存;
使用静态变量缓存;
使用Asp.net 会话状态(Session State);
使用Asp.net客户端缓存和状态;
使用Internet Explorer缓存。
例如:使用asp.net session state
你可使用基于HttpSessionState对象的asp.net session state来缓存单个用户的会话状态信息。它解决了asp中会话状态的不少限制,包括:
·asp session要求客户端接受cookies,不然就不能使用session;而asp.net能够配置为不使用cookie;
·
五、镜像
打个比方说,咱们要作一个提供软件下载的网站,由于你们使用的ISP不一样(有用电信的,也有使用网通的,也有铁通的),若是使用电信的用户访问网通的服务器就会很慢,一样使用网通的用户访问电信的服务器速度也慢。为了让使用不一样ISP的用户的下载速度都能快,咱们能够把主服务器放到电信的线路上,同时在网通的线路上架设镜像服务器1,铁桶的线路上架设镜像服务器2。这样你们访问位于和本身相同ISP线路上的服务器去下载速度就快了。
另:做备份的时候也会使用到镜像服务器。如:大部分网游的服务器都有镜像,这样当1台服务器出现故障的时候玩家可使用另外一台服务器来进行游戏。
六、 负载均衡
七、最新:CDN加速技术(Content Delivery Network:内容分发网络)
通俗理解就是网站加速,CPU均衡负载,能够解决跨运营商,跨地区,服务器负载能力太低,宽带过少等带来的网站打开速度慢等问题。
CDN=更智能的镜像+缓存+流量导流。于是,CDN能够明显提升Internet网络中信息流动的效率。
CDN的实例:
举个例子来讲,当某用户访问网站时,网站会利用全球负载均衡技术,将用户的访问指向到距离用户最近的正常工做的 缓存服务器上,直接响应用户的请求。
经过用户定位算法和服务器健康检测算法综合后的数据,能够将用户的请求就近定向到分布在网络“边缘”的缓存服务器上,保证用户的访问能获得更及时可靠的响应。