当前位置: 代码迷 >> Web前端 >> 《构建高性能Web站点》札记:3.5 I/O
  详细解决方案

《构建高性能Web站点》札记:3.5 I/O

热度:43   发布时间:2012-09-06 10:37:01.0
《构建高性能Web站点》笔记:3.5 I/O
I/O
   1.内存I/O一般不是瓶颈,网络I/O和磁盘I/O才是关键   
   2.提升网络性能:独享高带宽,高速网卡
   3.提高磁盘性能:使用RAID,并行读写
   4.不管用多好的外设,I/O都仍要走系统调用的路子。系统调用会产生开销,而且CPU还是经常要等待。因此,有些机器设计了一些不走cpu的技术,如DMA: 不通过CPU,而让DMA控制器直接进行磁盘和内存的数据交换; 这样虽然不能提升I/O速率,但可以节省CPU资源


以下我还不太懂,需要研究一下linux操作系统原理才好说。这里先记下一些关键字
   1. 阻塞式I/O,非阻塞式I/O ?
   2. 内存映射: 建立内存与磁盘的映射关系,写到内存的东西会同步到磁盘上
   3. 直接I/O: 不使用内核缓冲区(内存与磁盘间的一个缓存),而是程序自己建立一个用户态的缓冲区,以实现自己想要的缓存策略
   4. sendfile:把数据从磁盘读到写给网卡时,不使用内核缓冲区和内存,而是直接将磁盘数据发给socket;这对静态文件的获取很有帮助
   5. 异步I/O
  相关解决方案