Nginx 服务器负载测试失败(Node.js 应用程序)

问题描述 投票:0回答:1

我在使用 JMeter 对在 NGINX 服务器上运行的 Node.js Sequelize PostgreSQL 应用程序进行负载测试时遇到问题。当我设置 1000 个线程并设置 1 秒的启动时间时,一切都运行顺利。但是,当我在 10 秒的启动时间内将负载增加到 10,000 个线程时,某些调用会失败,并出现错误,例如“连接被拒绝”、“连接超时”或“无法连接到服务器”。

为了排除故障,我直接在 NGINX API 上执行了相同的负载测试,而不涉及 Node.js。令人惊讶的是,尽管 NGINX 返回了 200 状态代码,我仍然遇到类似的问题。

我怀疑我的 NGINX 设置中可能存在配置错误。任何有关如何诊断和解决此问题的见解将不胜感激。

node.js nginx jmeter stress-testing
1个回答
0
投票

似乎当您发送 10,000 个线程时就达到了连接限制。尝试增加连接数。

    events {
           worker_connections 10240; # Adjust this number as needed for this may be 10, 000 +
     }

同时检查 keep_alive 选项,即可以处理多少个请求

keepalive_requests  10000; # Adjust this number as needed for this may be 10, 000 +

如果您超出了 nginx 范围,您可以尝试更新系统限制:

    * soft nofile 100000
    * hard nofile 100000

请尝试解决方案,这似乎主要是请求限制问题。

© www.soinside.com 2019 - 2024. All rights reserved.