Linux高并发高性能服务器设计
第一章 概论
高并发高性能服务器,简单说,就是同一个时间点服务器可以接受的连接数很大,且服务器并能以相对比较快的速度提供响应。高性能服务器设计,不但是软件架构和设计的事情,还需要在操作系统和硬件给于支持。
第二章 整体软件架构
第三章
1) 数据拷贝(Data Copies)
2) 环境切换(Context Switches)
3) 内存分配(Memory allocation)
4) 锁竞争(Lock contention)
高性能服务器的实现,简单地一句话就是让CPU高效率运转。
何为高效率呢,简答说,
(1) CPU一直在做有效的事情(CPU Cache命中率提高,降低因为CPU Cache命中率带来的CPU开销,操作系统内核层解决的事情,绝不把数据复制用户层来解决)
(2) 有事情的做的时候,绝对不让CPU闲着
高性能服务器的通常做法有:缓存,异步IO,非阻塞网络连接,网络事件模式,避免或减低锁的使用,降低锁的粒度,MVCC模式,弱化事务一致性,分解并发竞争的实体(数据库等),分布式分摊压力,避免不必要内核层到用户层复制,避免不必要的系统调用。
第一节 缓存是王道
第二节 锁吗?
第三节 CPU怎能睡觉?
第四节 内核进入你的应用
第五节 需要严格的事务吗?
第六节 能不能让磁盘坏了好事?
第七节 众人拾柴,火焰高(分布式)
第八节 多线程还是多进程?
参考文献:
1. 高性能服务器架构(High-Performance Server Architecture)
2.