并发处理方案

1.并发的特点

        (1.程序与计算不再一一对应,一个程序副本可以有多个计算

 (2.并发程序之间有相互制约关系,直接制约体现为一个程序需要另一个程序的计算结果,间接制约体现为多个程序竞争某一资源,如处理机、缓冲区等。

 (3.并发程序在执行中是走走停停,断续推进的

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

下面也是一个牛人所做的总结,跟上面部分相同。 
高并发时,性能瓶颈及当前常用的应对措施


1.数据库瓶颈。Mysql并发链接100 
2.apache 并发链接1500 
3.程序执行效率 


1.有数据库瓶颈时,当前处理方案无外乎 主从,集群。增加cache(memcached). 


如:手机之家新系统介绍及架构分享(http://www.slideshare.net/Fenng/ss-1218991?from=ss_embed) 
就是在cache层做优化 
又拍网架构(http://www.bopor.com/?p=652) 
是以增加数据库,分表分库的方法解决。 
Sina增加了mq(消息队列)来分发数据。 
还有风站用了key-value的数据库。其实这可以理解成一个持久化的缓存。 


2.apache瓶颈。 
增加服务器。负载均衡。如sina的F5 


由于进程数的限制。会把一些基本不变的代码挪出来放到单独的服务器。如css/js/图片。 
国内成功的案例是tom的cdn 

猜你喜欢

转载自ruohanfly.iteye.com/blog/2273354