2

lighttpd + fastcgi でホストしている django Web サイトに問題があります。うまく機能しますが、最初のリクエストには常に最大 3 秒かかるようです。後続のリクエストははるかに高速です (<1 秒)。

問題を追跡するために、lighttpd でアクセス ログを有効にしました。しかし、私はちょっと立ち往生しています。

これは、4秒を「失う」ログです(10:04:17から10:04:21まで):

2012-12-01 10:04:17: (mod_fastcgi.c.3636) handling it in mod_fastcgi 
2012-12-01 10:04:17: (response.c.470) -- before doc_root 
2012-12-01 10:04:17: (response.c.471) Doc-Root     : /var/www 
2012-12-01 10:04:17: (response.c.472) Rel-Path     : /finderauto.fcgi 
2012-12-01 10:04:17: (response.c.473) Path         :  
2012-12-01 10:04:17: (response.c.521) -- after doc_root 
2012-12-01 10:04:17: (response.c.522) Doc-Root     : /var/www 
2012-12-01 10:04:17: (response.c.523) Rel-Path     : /finderauto.fcgi 
2012-12-01 10:04:17: (response.c.524) Path         : /var/www/finderauto.fcgi 
2012-12-01 10:04:17: (response.c.541) -- logical -> physical 
2012-12-01 10:04:17: (response.c.542) Doc-Root     : /var/www 
2012-12-01 10:04:17: (response.c.543) Rel-Path     : /finderauto.fcgi 
2012-12-01 10:04:17: (response.c.544) Path         : /var/www/finderauto.fcgi 
2012-12-01 10:04:21: (response.c.128) Response-Header: 
HTTP/1.1 200 OK
Last-Modified: Sat, 01 Dec 2012 09:04:21 GMT
Expires: Sat, 01 Dec 2012 09:14:21 GMT
Content-Type: text/html; charset=utf-8
Cache-Control: max-age=600
Transfer-Encoding: chunked
Date: Sat, 01 Dec 2012 09:04:21 GMT
Server: lighttpd/1.4.28

問題があるとすれば、それは私の構成にあると思います。djangoアプリを起動する方法は次のとおりです。

python manage.py runfcgi method=threaded host=127.0.0.1 port=3033

そして、ここに私のlighttpd confがあります:

    server.modules = (
    "mod_access",
    "mod_alias",
    "mod_compress",
    "mod_redirect",
        "mod_rewrite",
        "mod_fastcgi",
        "mod_accesslog",
)

server.document-root        = "/var/www"
server.upload-dirs          = ( "/var/cache/lighttpd/uploads" )
server.errorlog             = "/var/log/lighttpd/error.log"
server.pid-file             = "/var/run/lighttpd.pid"
server.username             = "www-data"
server.groupname            = "www-data"
accesslog.filename           = "/var/log/lighttpd/access.log" 

debug.log-request-header = "enable"
debug.log-response-header = "enable"
debug.log-file-not-found = "enable"
debug.log-request-handling = "enable"
debug.log-timeouts = "enable"
debug.log-ssl-noise = "enable"
debug.log-condition-cache-handling = "enable"
debug.log-condition-handling = "enable"



fastcgi.server = (
    "/finderauto.fcgi" => (
        "main" => (
            # Use host / port instead of socket for TCP fastcgi
            "host" => "127.0.0.1",
            "port" => 3033,
            #"socket" => "/home/finderadmin/finderauto.sock",
            "check-local" => "disable",
            "fix-root-scriptname" => "enable",
        )
    ),
)
alias.url = (
    "/media" => "/home/user/django/contrib/admin/media/",
)

url.rewrite-once = (
    "^(/media.*)$" => "$1",
    "^/favicon\.ico$" => "/media/favicon.ico",
    "^(/.*)$" => "/finderauto.fcgi$1",
)

index-file.names            = ( "index.php", "index.html",
                                "index.htm", "default.htm",
                               " index.lighttpd.html" )

url.access-deny             = ( "~", ".inc" )

static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )

## Use ipv6 if available
#include_shell "/usr/share/lighttpd/use-ipv6.pl"

dir-listing.encoding        = "utf-8"
server.dir-listing          = "enable"

compress.cache-dir          = "/var/cache/lighttpd/compress/"
compress.filetype           = ( "application/x-javascript", "text/css", "text/html", "text/plain" )

include_shell "/usr/share/lighttpd/create-mime.assign.pl"
include_shell "/usr/share/lighttpd/include-conf-enabled.pl"

これらの 3 秒または 4 秒をどこで失ったかを見つけるのを手伝ってくれる人がいたら. よろしくお願いします。

更新: もう 1 つの情報。fastcgi ログを有効にしましたが、次の 2 つの fcgi ログの間に 3 秒の遅延が発生しました。

2012-12-01 18:18:12: (mod_fastcgi.c.3636) handling it in mod_fastcgi 
2012-12-01 18:18:12: (response.c.470) -- before doc_root 
2012-12-01 18:18:12: (response.c.471) Doc-Root     : /var/www 
2012-12-01 18:18:12: (response.c.472) Rel-Path     : /finderauto.fcgi 
2012-12-01 18:18:12: (response.c.473) Path         :  
2012-12-01 18:18:12: (response.c.521) -- after doc_root 
2012-12-01 18:18:12: (response.c.522) Doc-Root     : /var/www 
2012-12-01 18:18:12: (response.c.523) Rel-Path     : /finderauto.fcgi 
2012-12-01 18:18:12: (response.c.524) Path         : /var/www/finderauto.fcgi 
2012-12-01 18:18:12: (response.c.541) -- logical -> physical 
2012-12-01 18:18:12: (response.c.542) Doc-Root     : /var/www 
2012-12-01 18:18:12: (response.c.543) Rel-Path     : /finderauto.fcgi 
2012-12-01 18:18:12: (response.c.544) Path         : /var/www/finderauto.fcgi 
2012-12-01 18:18:12: (mod_fastcgi.c.3061) got proc: pid: 0 socket: tcp:127.0.0.1:3033 load: 1 

おそらくfastcgi構成にリンクされていますか?

前もって感謝します!

4

1 に答える 1