Chinaunix首页 | 论坛 | 博客
  • 博客访问: 282801
  • 博文数量: 134
  • 博客积分: 667
  • 博客等级: 上士
  • 技术积分: 770
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-08 15:19
文章分类

全部博文(134)

文章存档

2012年(134)

分类: LINUX

2012-06-01 10:21:10

目前碰到的高并发应用,需要高性能需求的主要是两个方面
   1。网络
   2。数据库
这两个方面的解决方式其实还是一致的
   1。充分接近单机的性能瓶颈,自我优化
   2。单机搞不定的时候(
             数据传输瓶颈:
                 单位时间内磁盘读写/网络数据包的收发
             cpu计算瓶颈),把负荷分担给多台机器,就是所谓的负载均衡
网络方面单机的处理
   1。底层包收发处理的模式变化(从select 模式到epoll / kevent)
   2。应用模式的变化
         2.1 应用层包的构造方式
         2.2 应用协议的实现
         2.3 包的缓冲模式
         2.4 单线程到多线程
网络负载均衡的几个办法
   1。代理模式:代理服务器只管收发包,收到包以后转给后面的应用服务器群(服务器群后可能还会有一堆堆的数据库服务器等等),并且把返回的结果再返回给请求端
   2。虚拟代理ip:代理服务器收发包还负载太高,那就增加多台代理服务器,都来管包的转发。这些代理服务器可以用统一的虚拟ip,也可以单独的ip
   3。p2p:一些广播的数据可以p2p的模式来减轻服务器的网络压力
数据库(指mysql)单机的处理
 1。数据库本身结构的设计优化(分表,分记录,目的在于保证每个表的记录数在可定的范围内)
 2。sql语句的优化
 3。master + slave模式
数据库集群的处理
 1。master + slave模式 (可有效地处理并发查询)
 2。mysql cluster 模式 (可有效地处理并发数据变化)
阅读(1498) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~