Load test your application as “real” as possible. I like to use siege for this but there are many tools for the job.
Monitor your server, to manage anything you need to measure things up! For this I loved the
uwsgitop tool which gives me a very descriptive live data of the state of the server.
If you are able to setup a instrumentation tool like
prometheus, the better!
somaxconn size that makes sense, to me a size of 1024 did on my case.
I wouldn’t advice to add a huge number here unless you have a good reason. A good fast service is king and having a huge backlog won’t help that.
To measure this on your tests you can inspect the backlog in a
top like fashion with:
watch -n1 "ss -l | grep <socket_name>"
To see the
somaxconn backlog current status.
Then I played with
ugreen and async to find the best bang for my buck.