NGINX + Windows 如何向 10k 个并发用户提供静态 html 文件(100kb)

NGINX + Windows 如何向 10k 个并发用户提供静态 html 文件(100kb)

这是 NGINX 配置文件:

            gzip                  on;
            gzip_disable    "MSIE [1-6]\.";
            gzip_vary          on;
            gzip_proxied    any;
            open_file_cache max=200000 inactive=20s; 
            open_file_cache_valid 30s; 
            open_file_cache_min_uses 2;
            open_file_cache_errors on;
            access_log off;
            sendfile on;
            tcp_nopush on;
            tcp_nodelay on; 
            keepalive_timeout 0;
            reset_timedout_connection on;
            client_body_timeout 10;

            ...

            events {
               worker_connections  4000;
            }
            worker_processes  4;

问题是许多用户无法获取该文件(无法连接/超时)该文件是一条推送消息,发送到桌面应用程序。

因此,我有两个问题:1. 有谁知道 ningx 在 Windows 2008 R2 上支持的最大“worker_connections”是多少?2. 我需要在 Windows 注册表中更改某些内容吗?我找不到要更改的内容和确切的数字。

我不想偏离主题,只是想介绍一下背景。今天我使用 Amazon S3 提供文件,每月花费近 1000 美元。我有一台专用服务器,所以我想省下这笔钱,自己提供文件。如果您知道其他比 S3 更便宜的替代方案,可以发表评论。

谢谢。

答案1

在 Windows 上,nginx 具有重大限制

  • 您只能有 1024 个worker_connections。任何更大的数字都将被忽略。即使您启动多个,也只有一个工作器会真正执行任何工作。
  • nginx只能使用select();没有高性能的事件处理器。

这就是为什么在 Windows 上使用 nginx 来实现高性能、高可扩展性的环境不是一个好主意的原因。

尽快在非Windows操作系统上切换至nginx。

相关内容