kam*_*nga 7 django nginx gunicorn
我正在使用nginx + gunicorn来提供django应用程序并将其部署在EC2(m1.small实例)上.
我有这个观点:
def hi(request):
return HttpResponse('hi', content_type='text/plain')
Run Code Online (Sandbox Code Playgroud)
映射到url /hi/.因此,它基本上只是返回hi的[myurl]/hi.
现在当我加载测试这个域([myurl]/hi)时loader.io,这甚至不会超过250个客户端超过30秒测试.(每秒约8个请求)
这是我的nginx access.log文件的一部分.它基本上只是499在几秒后给出了200s.(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',
)
Run Code Online (Sandbox Code Playgroud)
之前没有一个被评论过.当我评论出这9行时,我获得了性能提升.现在我可以从这个应用程序中获得60 qps.但我认为我在做更多的错误,并且可以进一步扩展.
小智 2
这只是在黑暗中刺伤,没有更多的内容可以继续,我没有足够的声誉来评论你原来的问题:我注意到你的gunicorn启动脚本有
--日志级别=调试
如果您有调试级别日志记录(在gunicorn中,尤其是在Django项目中),它将解释为什么通过注释掉中间件来提高性能,以及为什么您会在不同的部署架构中不断降低性能。
调试级别日志记录输出大量信息。
| 归档时间: |
|
| 查看次数: |
1069 次 |
| 最近记录: |