#32773: Production Configuration of Django 3.2 with gunicorn and uvicorn
-------------------------------------+-------------------------------------
     Reporter:  allen-munsch         |                    Owner:  nobody
         Type:                       |                   Status:  closed
  Cleanup/optimization               |
    Component:  Documentation        |                  Version:  3.2
     Severity:  Normal               |               Resolution:  invalid
     Keywords:                       |             Triage Stage:
                                     |  Unreviewed
    Has patch:  0                    |      Needs documentation:  0
  Needs tests:  0                    |  Patch needs improvement:  0
Easy pickings:  0                    |                    UI/UX:  0
-------------------------------------+-------------------------------------
Description changed by allen-munsch:

Old description:

> Hoping for a bit of guidance here.
>
> How can I contribute to the documentation of using django ASGI in a
> production environment?
>
> Also, Any suggestions on tuning these things for relatively the same
> performance?
>
> Current settings ( seems to perform at about the same )
> py3.8.10
> django3.2
> gunicorn with 18 workers using uvicorn.UvicornWorker
> 9 heroku Performance L instances
>
> Previously
> py3.6.13
> django2.2.5
> gunicorn with 10 workers using eventlet
> 7 heroku Performance L instances
>
> However, notice the two instance difference is quite a bit extra in cost.
>
> wrote out a thing to roughly benchmark django and fastapi being part of
> the same ASGI app.
>
> https://github.com/allen-munsch/benchmark-django-fastapi/
>
> Specifically trying to determine upgrading from django 2.2.5 to django
> 3.2 and layering in FastAPI and running it in a production environment.
>
> Anyone here have any advice on doing that?
>
> https://github.com/allen-munsch/benchmark-django-
> fastapi/blob/main/docker/web/docker-asgi-with-static-entrypoint.sh
> https://github.com/allen-munsch/benchmark-django-
> fastapi/blob/main/testdjango/asgi_with_static.py
>
> I was thinking these but with gunicorn --workers 18 .... on 14 heroku
> Performance L instances, and scaling down to 7
>
> https://devcenter.heroku.com/articles/dyno-types
>
> seems like django 3.2 served with uvicorn under peak load is twice as
> slow in a production environment ...
> pretty spiky to 4x slower in comparison to using gunicorn and eventlet
> with the same number of web workers ( 7 heroku Performance L )

New description:

 Hoping for a bit of guidance here.

 How can I contribute to the documentation of using django ASGI in a
 production environment?

 Also, Any suggestions on tuning these things for relatively the same
 performance?

 Current settings ( seems to perform at about the same )
 py3.8.10
 django3.2
 gunicorn with 18 workers using uvicorn.UvicornWorker
 10 heroku Performance L instances

 Previously
 py3.6.13
 django2.2.5
 gunicorn with 10 workers using eventlet
 7 heroku Performance L instances

 However, notice the two instance difference is quite a bit extra in cost.

 wrote out a thing to roughly benchmark django and fastapi being part of
 the same ASGI app.

 https://github.com/allen-munsch/benchmark-django-fastapi/

 Specifically trying to determine upgrading from django 2.2.5 to django 3.2
 and layering in FastAPI and running it in a production environment.

 Anyone here have any advice on doing that?

 https://github.com/allen-munsch/benchmark-django-
 fastapi/blob/main/docker/web/docker-asgi-with-static-entrypoint.sh
 https://github.com/allen-munsch/benchmark-django-
 fastapi/blob/main/testdjango/asgi_with_static.py

 I was thinking these but with gunicorn --workers 18 .... on 14 heroku
 Performance L instances, and scaling down to 7

 https://devcenter.heroku.com/articles/dyno-types

 seems like django 3.2 served with uvicorn under peak load is twice as slow
 in a production environment ...
 pretty spiky to 4x slower in comparison to using gunicorn and eventlet
 with the same number of web workers ( 7 heroku Performance L )

--

-- 
Ticket URL: <https://code.djangoproject.com/ticket/32773#comment:3>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/070.84f130d230cc6edce80842120f808f1d%40djangoproject.com.

Reply via email to