深入理解零拷贝技术
很多应用程序在面临客户端请求时,可以等价为进行如下的系统调用:
1. File.read(file, buf, len);
2. Socket.send(socket, buf, len);
例如消息中间件 Kafka 就是这个应用场景,从磁盘中读取一批消息后原封不动地写入网卡(NIC,Network interface controller)进行发送。
在没有任何优化技术使用的背景下,操作系统为此会进行 4 次数据拷贝,以及 4 次上下文切换
- 2022-03-23
- 阅读3523
- 下载1
- 21页
- doc