title: gunicorn using the same worker process for all requests
body: <p>I am running gunicorn with the gevent worker type and 3 workers on a 2 core system.
  I send about 15 concurrent requests to the server.
  The avg time for each request when run individually is 20 seconds, but it goes up to 30 when run concurrently.</p>
  
  <p>Looking at the logs for gunicorn, I can see that each request is being handled by the same worker (tracked using process id in logs).
  Could this be a possible reason why the avg time is so much higher? Since the same process is handling all requests, presumably there's constant context switches. 
  How do I ensure that all the worker processes are used?
  I tried increasing the number of workers, but that wasn't much help.</p>
  
  <p>Here's the part of the config file that starts gunicorn as a service:</p>
  
  <pre><code>/usr/bin/gunicorn --pid /run/gunicorn/pid --bind unix:/run/gunicorn/socket myapp.wsgi:application -k gevent -w 3 --worker-connections 1000 --access-logfile /var/log/gunicorn/access.log --access-logformat "%(h)s %(l)s %(u)s %(t)s "%(r)s" %(s)s %(b)s "%(f)s" "%(a)s" %(p)s"
  </code></pre>