Passenger上的Python Flask无法处理少量并发请求

时间:2017-02-06 14:13:08

标签: python apache passenger wsgi

我在Passenger上运行了一个Flask(Python)应用程序,当我测试它并且我是唯一的用户时,它运行得非常好。

但是一旦我尝试拥有多个并发连接,每个客户端都会等待一个响应。我已经尝试了50个并发用户,这似乎很容易被支持。

该应用程序非常简单,只需一次或两次读取和写入SQLite数据库。 (由少数用户is not a problem同时访问SQLite。)

我错过了什么?

1 个答案:

答案 0 :(得分:1)

Passenger docs中,它提出了以下建议:

  

Passenger还支持魔术文件'tmp / always_restart.txt'。如果   此文件存在,Passenger将在每次之后重新启动您的应用程序   请求。这样您就不必经常调用restart命令。

     

通过创建文件激活此机制:

     

$ mkdir -p tmp

     

$ touch tmp/always_restart.txt

这非常适合开发,因为这意味着您只需要保存Python文件,以便客户可以使用最新版本的应用程序。

但它对于生产来说很糟糕,因为每个客户端都会自己发出请求并重新启动Python应用程序。这是服务器的一个非常大的开销,因此用户可能会在收到响应之前超时。

删除文件tmp/always_restart.txt,您的并发限制将会上升。