Nginx在提供大量静态文件时已中止

时间:2017-05-23 09:46:00

标签: performance http nginx

从昨天开始在我的Nginx服务器上加载很多微小/常规图像时,我开始对某些图像进行非常慢的处理(按随机顺序)

我已经设置了sendfile_max_chunk 128k;试图缓解问题的指示但仍然没有成功。

服务器以闪电般的速度加载,但是一些静态文件在30秒或更长时间后会中止和终止加载。 screenshot of the issue

1 个答案:

答案 0 :(得分:0)

TL; TR; 您需要缓存经常请求的文件,允许根据一个HTTP会话(keepalive)请求多个文件,并使用缓存进行SSL会话以避免延迟在SSL握手中。

  1. 使用open_file_cache
  2. 在您积极使用SSL时,请考虑使用ssl_session_cachekeepalivekeepalive_timeout keepalive_requests,使用http2 module if available
  3. 阅读官方nginx tuning article
  4. open_file_cache示例:

    open_file_cache          max=2048 inactive=12h;
    open_file_cache_valid    12h;
    open_file_cache_min_uses 2;
    open_file_cache_errors   off;
    

    ssl_session_cache示例:

    ssl_session_cache   shared:SSL:32m;
    ssl_session_timeout 4h;
    ssl_buffer_size     1400;
    

    http2“默认”服务器块的示例,更多信息read DO article

    server {
      listen 443 default_server ssl http2 deferred reuseport;
      listen [::]:443 default_server ssl http2 deferred reuseport ipv6only=on;
      server_name _;
    }