nginx 如何配置才能在 https 下载大文件时调用多个 CPU 核心?

2021-05-05 23:55:53 +08:00
 KillAd

配置文件如下
但是下载大文件的时候(文件超过 2GB)只吃满 1 个 CPU 核心,其他 3 个核心没有负载,然后速度也只有大概 30MB/s 跑不满带宽
如果不开启 https,只使用 http 是可以跑满 4 个核心的,所以来求问需要如何配置才能在 https 下载时同时调用多个核心呢?

worker_processes 4;

events {
  worker_connections 1024;
}

http {
  include       mime.types;
  default_type  application/octet-stream;
  sendfile      on;
  types_hash_max_size 4096;
  server_names_hash_bucket_size 128;

  server {
    listen 80 default_server;
    return 301 https://$host$request_uri;
  }

  server {
    listen 443 http2 ssl;
        
    ssl_certificate /path/to/signed_cert_plus_intermediates;
    ssl_certificate_key /path/to/private_key;
    ssl_session_timeout 1d;
    ssl_session_cache off;
    ssl_session_tickets off;

    ssl_dhparam /path/to/dhparam.pem;

    ssl_protocols TLSv1.3;
    ssl_prefer_server_ciphers off;

    add_header Strict-Transport-Security "max-age=31536000" always;

    ssl_stapling on;
    ssl_stapling_verify on;
    ssl_trusted_certificate /path/to/signed_cert_plus_intermediates;

    resolver 1.1.1.1 8.8.8.8 valid=60s;

    location / {
      alias /download/;
      aio threads;
    }
  }
}
384 次点击
所在节点    问与答
1 条回复
Qetesh
2021-05-06 00:27:45 +08:00
可以考虑有个专门的 ssl 卸载,或者试试 reuseport 参数。没试过,希望楼主试过之后反馈下。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/775049

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX