nginx HTTP 服务器有 directive named sendfile ,它可以告诉它使用 Linux sendfile() system call执行 I/O 操作而不复制到中间内存缓冲区。这应该会提高 I/O 速率并减少内存使用。如果您在带有现代版本 nginx 的现代 Linux 系统上运行,它有什么缺点吗?

<小时 />

过去该指令可能会出现问题,例如 on VirtualBox VMs ,因此我有资格进行现代安装。

请您参考如下方法:

扩展@DanilaVershinin的答案:Nginx documentation推荐使用它以提高效率(大文件除外)。可能发生的情况是,大文件传输可能会导致连接过长阻塞。解决方案可在与上面相同的链接中找到,它使用 sendfile_max_chunk。示例:

location /mp3 { 
    sendfile           on; 
    sendfile_max_chunk 1m; # Limits chunks to 1 Megabytes 
} 


评论关闭
IT源码网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!