I'm encountering an issue while load testing my Node.js Sequelize PostgreSQL application running on an NGINX server using JMeter. When I set 1000 threads with a 1-second ramp-up time, everything runs smoothly. However, when I increase the load to 10,000 threads with a 10-second ramp-up time, some calls fail with errors such as "connection refused," "connection timed out," or "failed to connect to server."
To troubleshoot, I performed the same load test directly on the NGINX API without involving Node.js. Surprisingly, I still encountered similar issues, even though NGINX returned a 200 status code.
I suspect there might be a misconfiguration in my NGINX setup. Any insights on how to diagnose and resolve this issue would be greatly appreciated.
it seems that when you send 10,000 threads then it reach the connection limit. try to increase number of connections.
events {
worker_connections 10240; # Adjust this number as needed for this may be 10, 000 +
}
along this check the keep_alive option, i.e how many request can be entertained
keepalive_requests 10000; # Adjust this number as needed for this may be 10, 000 +
if you go outside the nginx may be you can try to update the system limits:
* soft nofile 100000
* hard nofile 100000
Please try the solutions, this mainly seems to be the request limit issue.