简单的问题
http://mysite.com/bigFile.avi#这个文件是800Mb
当我使用此链接并从浏览器下载bigFile.avi时 我的Nginx服务器在下载会话期间跳转到100%CPU负载,静态内容,没有php。 (普通的php脚本使用1-3%的CPU)
我想知道我的服务器是否正常? 它耗费了大量的CPU来提供大文件吗?
(我甚至关闭了nginx配置中的gzip,但差别不大)
答案 0 :(得分:12)
由于nginx可以在将大文件发送到客户端之前在磁盘中写入大文件,如果网站要提供大型静态文件,通常最好禁用此缓存,例如:
location / {
proxy_max_temp_file_size 0;
}
答案 1 :(得分:9)
看一下这些文章
我承认其中一些不在我身边。但总之,如果您要发送大型(> 4MB)文件,他们建议禁用sendfile,启用aio,并增加输出缓冲区。我拿走的是大多数默认服务器配置假设将发送许多小文件,而不是少数或许多大文件。这两种不同的场景可能需要一些非常不同的配置才能有效地工作。