我正在使用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项目中),它将解释为什么通过注释中间件来提高性能以及为什么你会不断地从不同的部署架构中降低性能.
调试级别日志记录输出大量信息.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。