Apache/Flask: 增加并发请求
Apache/Flask: increasing concurrent requests
我使用 mod_wsgi 在 Apache 之上安装了这个 Flask 应用程序 运行。
from flask import Flask
app = Flask(__name__)
@app.route('/<int:a>')
def mytest(a):
print('starting test:', a)
import time
time.sleep(60)
print('ending test:', a)
return 'done'
(这是一个 MWE。)
当用户访问URL/<int>
时,执行一分钟的低强度任务,然后returns.
然后我打开 7 个选项卡,每个选项卡位于不同的 URL /1、/2、...、/7。当我收听正在发生的事情时 (sudo tail -f /var/log/apache2/error.log
),我看到以下消息:
starting test: 1
starting test: 2
starting test: 3
starting test: 4
starting test: 5
starting test: 6
ending test: 1
starting test: 7
...
很明显,它最多只支持6个并发请求。我该如何提高这个限制?
我正在使用 Ubuntu 18.04 附带的 Apache2 的默认选项,并使用 mod_wsgi 的默认选项。我已经经历了 /etc/apache2/apache2.conf
并且没有看到 6 个限制。我的 .wsgi 文件配置为:
WSGIDaemonProcess app user=rpcruz group=app home=/var/www/app processes=25 restart-interval=86400 graceful-timeout=3600
我发现了问题:限制不在服务器端。我正在使用 Chrome 进行测试,每个主机名限制为 6 个连接。
我使用 mod_wsgi 在 Apache 之上安装了这个 Flask 应用程序 运行。
from flask import Flask
app = Flask(__name__)
@app.route('/<int:a>')
def mytest(a):
print('starting test:', a)
import time
time.sleep(60)
print('ending test:', a)
return 'done'
(这是一个 MWE。)
当用户访问URL/<int>
时,执行一分钟的低强度任务,然后returns.
然后我打开 7 个选项卡,每个选项卡位于不同的 URL /1、/2、...、/7。当我收听正在发生的事情时 (sudo tail -f /var/log/apache2/error.log
),我看到以下消息:
starting test: 1
starting test: 2
starting test: 3
starting test: 4
starting test: 5
starting test: 6
ending test: 1
starting test: 7
...
很明显,它最多只支持6个并发请求。我该如何提高这个限制?
我正在使用 Ubuntu 18.04 附带的 Apache2 的默认选项,并使用 mod_wsgi 的默认选项。我已经经历了 /etc/apache2/apache2.conf
并且没有看到 6 个限制。我的 .wsgi 文件配置为:
WSGIDaemonProcess app user=rpcruz group=app home=/var/www/app processes=25 restart-interval=86400 graceful-timeout=3600
我发现了问题:限制不在服务器端。我正在使用 Chrome 进行测试,每个主机名限制为 6 个连接。