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.
tail -f /var/log/nginx/error.logandtail -f /var/log/nginx/access.logto see what's nginx alerting when ddosing it. I suspect port limits, open file limits, workers count, read timeout (which should be small to make "slow" clients to be kicked out).