Python 为什么是;nginx+;龙卷风“;设置返回结果所需的时间比仅返回结果所需的时间更长;龙卷风“;设置?

Python 为什么是;nginx+;龙卷风“;设置返回结果所需的时间比仅返回结果所需的时间更长;龙卷风“;设置?,python,nginx,tornado,Python,Nginx,Tornado,我在5台tornado服务器前安装了一个nginx 当我直接调用我的Tornado服务器时,结果会很快返回 但是当我调用nginx时,返回结果需要很长时间。查看日志后,我可以看到请求几乎立即作为“选项”进入nginx和所选的tornado服务器。但是,它需要一点时间,之后我在日志中看到“GET”请求,然后返回响应。为什么选项和GET之间有这么长的延迟?当直接调用Tornado时,选项和GET请求会非常快地背靠背进行。我是否需要更改nginx配置文件中的某些内容以提高性能 我的nginx配置如下所

我在5台tornado服务器前安装了一个nginx

当我直接调用我的Tornado服务器时,结果会很快返回

但是当我调用nginx时,返回结果需要很长时间。查看日志后,我可以看到请求几乎立即作为“选项”进入nginx和所选的tornado服务器。但是,它需要一点时间,之后我在日志中看到“GET”请求,然后返回响应。为什么选项和GET之间有这么长的延迟?当直接调用Tornado时,选项和GET请求会非常快地背靠背进行。我是否需要更改nginx配置文件中的某些内容以提高性能

我的nginx配置如下所示:

worker_processes 1;

error_log  logs/error.;

events {
    worker_connections 1024;
}

http {
    # Enumerate all the Tornado servers here
    upstream frontends {
        server 127.0.0.1:5052;
        server 127.0.0.1:5053;
        server 127.0.0.1:5054;
        server 127.0.0.1:5055;
        server 127.0.0.1:5056;
    }

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

    keepalive_timeout 65;

    sendfile on;


    server {
        listen 5050;
        server_name x;

        ssl on;
        ssl_certificate certificate.crt;
        ssl_certificate_key keyfile.key;

        location / {
            proxy_pass_header Server;
            proxy_set_header Host $http_host;
            proxy_redirect off;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Scheme $scheme;
            proxy_pass https://frontends;
        }
    }
}
我的tornado文件具有以下结构:

import tornado.httpserver
import tornado.ioloop
import tornado.web
from flasky import app
from tornado.wsgi import WSGIContainer
from tornado.ioloop import IOLoop
from tornado.web import FallbackHandler

tr = WSGIContainer(app)

application = tornado.web.Application([
    (r".*", FallbackHandler, dict(fallback=tr)),
])

if __name__ == '__main__':
    http_server = tornado.httpserver.HTTPServer(application, ssl_options={
        "certfile": "certificate.crt",
        "keyfile": "keyfile.key",
    })
    http_server.listen(5056, address='127.0.0.1')
    IOLoop.instance().start()

worker\u进程1。。。你已经挫败了使用多实例tornado服务器的目的。一些提示@cricket_007我现在将其改为“16”(我有一个16核的虚拟机)。还是同样的问题:(是否有必要在本地主机上运行SSL?第二次协商可能会引入一些延迟。我使用的是Windows Server 2012。nginx在Windows上是否存在性能问题?