我一直在使用 Flask 构建一个应用程序,作为在同一台机器上运行的另一个服务的代理和身份验证层。我的问题是,在对第二个服务进行 REST 调用时,响应时间在 15 毫秒到 20 毫秒之间变化。但是,当代理首先查询时,响应时间需要 > 1000 毫秒,这在这种情况下是多余的。
代理仅使用 HTTPBasicAuth 对 SQLAlchemy 中的用户表进行身份验证,并将立即将调用转发到公开第二个服务的适当 url。下面是一个例子:
@device_blueprint.route('/devices/data', methods=['GET'])
@auth.login_required
def getAll():
current_app.logger.info('Received request from ip [%s] with headers [%s]', request.remote_addr, request.
r = requests.get("URL TO SECOND SERVICE")
if not r:
abort(400)
return "%s" % r.json()
该应用程序在具有 4 个工作线程的 gunicorn 上运行。任何想法如何减少响应时间?