I tried using 1 nginx process instead of 2 (auto) and the result was ~14% slower (from 12,500 requests/sec to 10,700 requests/sec). I ran htop and saw that the single nginx process was CPU bound and the other CPU core could not be saturated because the nginx process couldn't send work to the uWSGI worker processes fast enough. I also experimented with using 1 nginx process and NCPU * 2 uWSGI worker processes and that did not increase performance. Thus, my conclusion is that the single nginx process is the limiting factor and thus, we shouldn't limit ourselves to one nginx process.

Thoughts?