主页 >> 系统架构 > 网站高并发处理

2013/04/23 | 星期二 分类:系统架构 | 没有评论 标签: | 作者: | 1,800 views

网站高并发处理

时下高并发的问题很Hot,面试中常常会提及到的。但个人认为高并发其实是最不需要考虑的东西,为何,他虚无缥缈,很少有网站真的需要这些东西,而且其中很多技术,其实在开发过程中很多的已经在用了,有这个意识就够了,不需要时刻盯着这个问题而纠结不放。

归纳:从低成本、高性能和高扩张性的角度来说有如下处理方案:
1.HTML静态化,优点不用额外陈述。
2.图片服务器分离,一般使用Lighttpd,.
3.数据库集群和库表散列,web一般用mysql,主从、集群,且数据库单表大于1千万必须分表。
4.缓存,页面缓存,数据查询缓存,比如memcached,图片缓存。
5.镜像,下载采用最多的技术。
6.负载均衡:一个典型的使用负载均衡的策略就是,在软件或者硬件四层交换的基础上搭建squid集群,这种思路在很多大型网站包括搜索引擎上被采用,这样的架构低成本、高性能还有很强的扩张性,随时往架构里面增减节点都非常容易。

高并发时,最先应找出性能瓶颈,然后方可做出应对措施:
比如:
A.有数据库瓶颈时,当前处理方案无外乎主从,集群,增加cache(memcached).
B.Apache瓶颈时,增加服务器,负载均衡,图片与CSS/JS使用独立的服务器,此时图片服务器又可以用nginx和squid的反向代理处理。.
C.PHP的执行效率时,本身的效率低,数据库查询效率问题,如可能有order by ,group by 等Sql数据问题,解决的办法是建立正确的索引,增加memcache,对like表用专用的sphinx和lucence 等搜索服务,另外程序员都应该会用explain对sql语句作分析。

  • 本文目前尚无任何评论.
    1. 本文目前尚无任何 trackbacks 和 pingbacks.