高性能高并发以及go并发学习
http://pl.atyp.us/content/tech/servers.html
http://www.cnblogs.com/fll/archive/2008/05/17/1201540.html
http://blog.csdn.net/ghj1976/article/details/27996095
http://blog.csdn.net/marising/article/details/5186643
数据拷贝: 零拷贝
上下文切换: 一方面是利用多核cpu,一方面是线程过多带来的上下文切换频繁
内存分配: 减少向系统申请内存。 一是预分配,一次性分配要比分开几次分配开销小,会造成一些内存浪费,所以除非内存吃紧的情况之外,预分配方式一般都是稳赚不赔的方案。 二是类似与go中的pool,释放内存放到一个释放链表上,而不是真正去释放,等需要再次利用的时候再拿来用,这样还有可能减少对象的初始化工作。一般这个链表肯定不能无限制增长下去,而是在等系统空闲时不定期地进行清理。
锁竞争:
粗粒度锁会导致并行变成了串行;细粒度锁会导致竞争频繁;
其它方面: 系统页大小,系统大数据读写小数据读写,预读方面如何
多进程、线程 监听一个端口的话, accept在linux2.6内核 没有了惊群现象,而select/epoll等有惊群现象。