仅Django空页加载就需要2秒钟

仅Django空页加载就需要2秒钟,django,nginx,Django,Nginx,我正在谷歌计算引擎上用nginx做我的django项目 我的视图文件是 from django.shortcuts import render_to_response def home(request): return render_to_response('html/index.html',RequestContext(request)) 和我的模板文件index.html <html> <head> <title> Home </

我正在谷歌计算引擎上用nginx做我的django项目

我的视图文件是

from django.shortcuts import render_to_response

def home(request):
    return render_to_response('html/index.html',RequestContext(request))    
和我的模板文件index.html

<html>
<head>
<title> Home </title>
</head>
<body>
Wel come to my new project
</body>
</html>
在example.com中,它位于/etc/nginx/site启用和站点可用的内部

server {

    listen   80;
    server_name myservername.com;
    client_max_body_size 4G;


    error_page 502 =200 @maintenance;

    location @maintenance {
        root /path/to/static/offline/files;
        try_files $uri /index.html =503;
    }
   location /static/ {

       alias  /home/sim/5vs/staticfiles/;

    }

    location /media/ {
       alias  /home/sim/5vs/myproject/myproject/site_media/media/;
       expires 30d;
    }
    location / {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_redirect off;


    }
}                                 
在nginx.conf文件中

user root;
worker_processes 4;
pid /run/nginx.pid;

events {
    worker_connections 768;
    # multi_accept on;
}

http {
    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 65;
    types_hash_max_size 2048;

    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;



    gzip on;
    gzip_disable "msie6";


    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
}
你能告诉我为什么要花很长时间,我的配置有什么问题吗

浅谈轮廓仪的使用

总时间:1.89419秒 文件:/home/staging/live/users/views.py 功能:在第93行显示Soon_视图

行#每次命中的命中次数%时间行内容
用户使用debug=True设置的debug server来运行django项目。它启用了调试工具栏-这真的很慢。这是使用此设置的正常时间。如果你禁用这个-我想一切都会好起来的

如果您仍然有问题,我建议您检查django调试服务器响应时间(python manage.py runserver)。如果它更快,那么问题是nginx配置,或者,如果相同,您应该使用检查计时


如果是生产配置-不要在生产上使用调试服务器。您应该使用或类似的工具来运行django项目。

用户使用debug server with debug=True设置来运行django项目。它启用了调试工具栏-这真的很慢。这是使用此设置的正常时间。如果你禁用这个-我想一切都会好起来的

如果您仍然有问题,我建议您检查django调试服务器响应时间(python manage.py runserver)。如果它更快,那么问题是nginx配置,或者,如果相同,您应该使用检查计时



如果是生产配置-不要在生产上使用调试服务器。您应该使用或类似的工具来运行django项目。

您使用什么来从上游端口8000提供服务?@DanielRoseman我不知道服务器端集成的概念。我使用了一些手册来配置它。即使这个项目运行时没有检查更新的文件。请告诉您我将检查并让您知道的建议。您已将nginx设置为指向端口8000上的上游服务器。那里在跑什么?你必须拥有一些东西,否则你的应用程序根本不会响应。你在用枪吗?或者您(正如Yevgeny所提示的)正在使用Django runserver?如果是后者,你绝对不能这样做。实际上我正在使用gunicorn来运行我的项目。你使用什么从上游端口8000提供服务?@DanielRoseman我没有服务器端集成的概念。我使用了一些手册来配置它。即使这个项目运行时没有检查更新的文件。请告诉您我将检查并让您知道的建议。您已将nginx设置为指向端口8000上的上游服务器。那里在跑什么?你必须拥有一些东西,否则你的应用程序根本不会响应。你在用枪吗?或者您(正如Yevgeny所提示的)正在使用Django runserver?如果是后者,你绝对不能这样做。实际上我正在使用gunicorn来运行我的项目,即使调试是禁用的,它也需要相同的时间来执行,django调试服务器和nginx也或多或少相同,没有太大区别。我会与line profiler和gunicorn进行检查,并让您知道。我使用了line prifiler,我将结果附在问题中。请看,让我知道我还需要做什么。下一步应该是:1。禁用社交身份验证中间件2。切换到memcached或其他可用的内存缓存后端3。检查是否确实禁用了调试设置(./manage.py shell;来自django.conf导入设置;打印设置.DEBUG)4。在本地运行项目-原因可能是谷歌计算引擎吗?)通常django可以很好地处理这样简单的项目。可能是google计算引擎文件访问速度慢-尝试使用缓存模板加载器(使用默认加载器django搜索并从文件系统为每个请求加载模板)。实际上,我已经在设置文件中添加了缓存模板。你可以从我的问题中看出。我的问题是使用line profiler将值呈现给模板需要更多的时间。大约40个变量到模板需要10分钟。我们如何减少模板呈现时间。即使禁用调试,也需要相同的时间来执行,django调试服务器和nginx也或多或少相同,差别不大。我会与line profiler和gunicorn进行检查,并让您知道。我使用了line prifiler,我将结果附在问题中。请看,让我知道我还需要做什么。下一步应该是:1。禁用社交身份验证中间件2。切换到memcached或其他可用的内存缓存后端3。检查是否确实禁用了调试设置(./manage.py shell;来自django.conf导入设置;打印设置.DEBUG)4。在本地运行项目-原因可能是谷歌计算引擎吗?)通常django可以很好地处理这样简单的项目。可能是google计算引擎文件访问速度慢-尝试使用缓存模板加载器(使用默认加载器django搜索并从文件系统为每个请求加载模板)。实际上,我已经在设置文件中添加了缓存模板。你可以从我的问题中看出。我的问题是使用line profiler将值呈现给模板需要更多的时间。大约40个变量到模板需要10分钟。如何减少模板渲染时间。
user root;
worker_processes 4;
pid /run/nginx.pid;

events {
    worker_connections 768;
    # multi_accept on;
}

http {
    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 65;
    types_hash_max_size 2048;

    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;



    gzip on;
    gzip_disable "msie6";


    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
}
93                                           def comingsoon_view(request):
94         1            2      2.0      0.0     temp = {}
95         1      1894189 1894189.0    100.0    return render(request, 'pages/comingsoon.html',temp)