uwsgi throws IO error caused by uwsgi_response_write_body_do broken pipe

前端 未结 3 452
眼角桃花
眼角桃花 2020-12-16 09:57

My application is a uwsgi+django setup. I use gevent to do performance testing and run 1200 requests concurrently. At this point, uwsgi will throw an IO error with the fol

3条回答
  •  醉话见心
    2020-12-16 10:38

    This can happen when NGINX started a request to uWSGI but uWSGI took too long to respond, then NGINX closes the connection to uWSGI. When uWSGI finally finishes, it tries to give it's response back to NGINX, but NGINX closed the connection earlier, so then uWSGI throws an I/O error.

    So this could mean that your uWSGI process is taking too long.

    Update:

    uWSGI's Harakiri mode could be useful to automatically terminate such long taking processes if you want to: https://uwsgi-docs.readthedocs.io/en/latest/FAQ.html#what-is-harakiri-mode You might not want to do this because a process might be finishing some long query or something which is necessary.

提交回复
热议问题