曾格的github

IO模型:网络IO与本地IO

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

 

posted @ 2021-08-25 16:08  曾格  阅读(324)  评论(0编辑  收藏  举报
Live2D