IO模型:网络IO与本地IO

  • 本地IO:程序读写磁盘数据很慢,于是在内核中建立了pagecache进行加速。
    • 不同的磁盘文件可能对应不同pagecache。
    • 如果程序读写速度太快,可能pagecache来不及向磁盘写数据,需要注意双写一致性。
  • 网络IO:待处理的数据存储在网卡的缓存buf中,每和其他主机建立一个连接,都会在内核新建一个队列。
    • 为什么每个连接都需要一个队列呢:比如谷歌两个页面同时搜索汽车和家具,如果请求放在一个队列理,可能会引起两个页面的内容交错。
    • 注意cache和buf的区别:cache用来解决加速问题(需要反复读取),buf用来解决存储问题(临时存储数据)。 

心之所愿,永不相忘
原文地址:https://www.cnblogs.com/zgll/p/15185527.html