0

我想编写一个从 NAS 读取文件并通过套接字发送出去的服务器。最快的方法是什么?

谢谢!

4

2 回答 2

1

认为标准 CIFSmmap(2)对文件的安装支持(如果我没看错,direct模式必须关闭)。

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

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

于 2011-05-15T01:30:58.980 回答
0

假设两边的网络接口都是 1Gbit 以太网或更慢,你可以做任何你喜欢的事情。您的机器将能够填满它们。

于 2011-05-15T07:02:04.880 回答