【问题标题】:Nginx while serving lots of static files AbortedNginx 在提供大量静态文件时中止
【发布时间】:2017-05-25 00:43:26
【问题描述】:

从昨天开始在我的 Nginx 服务器上加载大量微小/常规图像时,某些图像的时间开始变得非常慢(以随机顺序)

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

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

【问题讨论】:

    标签: performance http nginx


    【解决方案1】:

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

    1. 使用open_file_cache
    2. 在您积极使用SSL时,请考虑使用ssl_session_cachekeepalivekeepalive_timeoutkeepalive_requests、使用http2 module if available
    3. 阅读官方nginx tuning article

    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 _;
    }
    

    【讨论】:

      猜你喜欢
      • 2018-10-23
      • 1970-01-01
      • 2013-05-24
      • 2021-09-03
      • 2018-05-18
      • 2015-07-30
      • 2021-12-02
      • 2020-09-14
      • 2019-06-27
      相关资源
      最近更新 更多