`

@Marked-sendfile zero-copy

 
阅读更多

传统read/write进行网络文件传输过程当中,文件数据实际上经过四次copy操作:


硬盘—>内核buf—>用户buf—>socket相关缓冲区—>协议引擎

 

而sendfile系统调用减少以上多次copy,提升文件传输性能:

 

硬盘—>内核buf—>用户buf—>socket相关缓冲区—>协议引擎

1、sendfile系统调用,文件数据被copy至内核缓冲区
2、再从内核缓冲区copy至内核中socket相关的缓冲区
3、最后再socket相关的缓冲区copy到协议引擎

 

减少了内核bufuser buf,再从user bufsocket相关缓冲区的文件copy

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics