使用 Pipe 在 Linux 中优化 Web 服务器
我编写了一个 Web 服务器,它读取请求的文件并写入套接字。 当我读取文件时,我将文件的内容放入操作系统的用户空间,并且, 当我再次将其写入套接字时,我将内容放入操作系统的内核空间。
所以我把它放到用户空间,然后又放到内核空间。这似乎是一种资源浪费。
- 难道就没有更好的选择吗?就像直接发送到内核空间而不是通过用户空间?
- 我该如何优化这个流程?
- 我可以使用 PIPE 来优化它吗?
I have written a web server which reads the requested file and writes to the socket.
When I read the file I put the content of the file to the user space of OS and,
when I write it to the socket again I put the content to the kernel space of the operating system.
So I put it to the user space and again to the kernel space. This seems to be a waste of resources.
- Isn't there a better option? Like directly sending to the kernel space rather than going through user space?
- How can I optimize this process?
- Can I use PIPE to optimize this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
尝试一下,它们可以通过内核直接将数据从文件复制到套接字:
Try those, which can copy data from a file to a socket directly through kernel :