我一直在使用Flask构建一个应用程序,作为在同一台机器上运行的另一个服务的代理和身份验证层。我的问题是,当对第二个服务进行REST调用时,响应时间在15ms到20ms之间变化。但是,当代理首先查询时,响应时间采用>在这种情况下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上运行。有什么想法可以减少响应时间吗?