我在Passenger上运行了一个Flask(Python)应用程序,当我测试它并且我是唯一的用户时,它运行得非常好。
但是一旦我尝试拥有多个并发连接,每个客户端都会等待一个响应。我已经尝试了50个并发用户,这似乎很容易被支持。
该应用程序非常简单,只需一次或两次读取和写入SQLite数据库。 (由少数用户is not a problem同时访问SQLite。)
我错过了什么?
答案 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
,您的并发限制将会上升。