Django Gunicorn nginx表现非常糟糕.甚至无法获得8 qps

发布时间:2019-09-01 发布网站:脚本之家
脚本之家收集整理的这篇文章主要介绍了Django Gunicorn nginx表现非常糟糕.甚至无法获得8 qps脚本之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在使用nginx gunicorn来为django应用程序提供服务并将其部署在EC2(m1.small实例)上.

我有这个观点:

def hi(request):
    return HttpResponse('hi',content_type='text/plain')

映射到url / hi /.所以它基本上只是在[myurl] / hi返回hi.

现在,当我从loader.io加载测试这个域([myurl] / hi)时,这甚至没有通过250个客户端超过30秒的测试. (每秒约8个请求)

This is(部分)我的nginx access.log文件.它基本上只是在几百秒后给出了499秒. (loader.io中的超时设置为10秒)

我必须做一些严重的错误.我怎么知道的?

我使用yet-another-django-profiler对其进行了分析,以下是输出:

我也在Elastic Beanstalk(它使用Apache服务器)上部署了这个django应用程序(m3.large实例),我也得到了糟糕的性能.
我现在的中间件是:

MIDDLEWARE_CLASSES = (
    'django.contrib.sessions.middleware.SessionMiddleware',# 'django.middleware.common.CommonMiddleware',# 'django.middleware.csrf.CsrfViewMiddleware',# 'silk.middleware.SilkyMiddleware',# 'yet_another_django_profiler.middleware.ProfilerMiddleware',# 'debug_toolbar.middleware.DebugToolbarMiddleware','django.contrib.auth.middleware.AuthenticationMiddleware',# 'django.contrib.auth.middleware.SessionAuthenticationMiddleware',# 'django.contrib.messages.middleware.MessageMiddleware',# 'django.middleware.clickjacking.XFrameOptionsMiddleware',# 'django.middleware.security.SecurityMiddleware',)

之前没有一个被评论过.当我评论出这9行时,我获得了性能提升.现在我可以从这个应用程序中获得60 qps.但我认为我在做更多的错误,并且可以进一步扩展.

最佳答案
这只是在黑暗中刺伤而没有更多的东西继续下去,而且我没有声誉来评论你原来的问题:我注意到你的gunicorn启动脚本有

--log-level=debug

如果你有调试级别的日志记录(在gunicorn中,特别是在Django项目中),它将解释为什么通过注释中间件来提高性能以及为什么你会不断地从不同的部署架构中降低性能.

调试级别日志记录输出大量信息.

总结

以上是脚本之家为你收集整理的Django Gunicorn nginx表现非常糟糕.甚至无法获得8 qps全部内容,希望文章能够帮你解决Django Gunicorn nginx表现非常糟糕.甚至无法获得8 qps所遇到的程序开发问题。

如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:76874919,请注明来意。

快乐,其实很简单!比如有我~

关注我升职加薪

标签:djangodjango