sendfile zero-copy
2024-09-06 07:27:45
传统read/write进行网络文件传输过程当中,文件数据实际上经过四次copy操作:
硬盘—>内核buf—>用户buf—>socket相关缓冲区—>协议引擎
而sendfile系统调用减少以上多次copy,提升文件传输性能:
硬盘—>内核buf—>用户buf—>socket相关缓冲区—>协议引擎
1、sendfile系统调用,文件数据被copy至内核缓冲区
2、再从内核缓冲区copy至内核中socket相关的缓冲区
3、最后再socket相关的缓冲区copy到协议引擎
减少了内核buf到user buf,再从user buf到socket相关缓冲区的文件copy
最新文章
- struts拓展restful
- CF460 A. Vasya and Socks
- JBoss的安装与配置(对应eclipse配置)【转】
- 有关gcc的扩展__attribute__((unused))
- 再回首,Java温故知新(六):Java基础之变量
- python学习之路-5 基础进阶篇
- C# 操作IE浏览器
- Mongodb 导出json 和csv 格式数据
- DELPHI中MessageBox的用法
- Spark Kudu 结合
- JAVA_SE基础——36.static的实际应用
- Java-IO之CharArrayReader
- linux中文件的三种time(atime,mtime,ctime)
- SQL逻辑查询语句执行顺序
- 亚马逊免费EC2搭建OpenVPN
- PAT A1109 Group Photo (25 分)——排序
- [转]熵(Entropy),交叉熵(Cross-Entropy),KL-松散度(KL Divergence)
- Linux下查看编辑二进制文件:hexedit神器
- git 自己易忘的命令
- linux io ports io memory
热门文章
- MeteoInfoLab脚本示例:中文处理
- 机器学习:集成学习:随机森林.GBDT
- pytest文档51-内置fixture之cache使用
- 【UNR #2】UOJ拯救计划
- spring boot:解决cors跨域问题的两种方法(spring boot 2.3.2)
- centos8平台使用lscpu查看cpu信息
- 第二十章 nginx常见问题
- Linux文件系统和管理-2文件操作命令(中)
- MySQL数据库基础-3-SQL 基本概念
- linux centos8 安装dokcker并启动coreapi