gpt4 book ai didi

Linux:从 NAS 读取文件并通过套接字发送的最有效方法是什么

转载 作者:太空宇宙 更新时间:2023-11-04 11:38:11 25 4
gpt4 key购买 nike

我想编写一个服务器,从 NAS 读取文件并将其发送出去一个 socket 。最快的方法是什么?

谢谢!

最佳答案

认为标准 CIFS 挂载支持文件上的 mmap(2)(如果我没看错,direct mode 必须关闭)。

如果是这样,您最快的选择可能是像往常一样打开(2) 文件,然后使用sendfile(2) 通过您的UDP 套接字发送文件数据。 (sendfile(2) 要求文件可映射,这并不总是保证,但内核中的 CIFS 客户端代码(fs/cifs/file.c:cifs_file_strict_mmap()) 似乎支持 mmap(2)。)

Pat Patterson reports an 8% speedup with sendfile(2) vs write(2) .但如果它有效,它会为您省去自己处理 AIO 操作的麻烦——内核将负责从文件中请求内存页面,在套接字缓冲区允许时通过套接字发送它们,并希望允许您的应用程序代码简短而甜美。

关于Linux:从 NAS 读取文件并通过套接字发送的最有效方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6005791/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com