Я создал 2 разных способа возврата из одной из моих функций, оформленных по маршруту:
Метод 1:
return HTTPResponse(status=200, body=myBody)
Метод 2 (Это сделано для того, чтобы ловушка after_request могла сейчас прочитать тот же объект ответа):
response = bottle.response.copy()
response.status = 200
response.body = myBody
return response
myBody - это строка, а не dict (наша вышестоящая библиотека уже преобразует dict в строку через json.dumps ()), а myBody также велика: это словарь с 1 ключом, но список из 600+ членов как значение.
Моя проблема:
Метод 1 очень быстро возвращается вызывающему клиенту (клиент использует библиотеку запросов через POST-запрос).
Метод 2 примерно в 10 раз медленнее (вызывающий клиент ждет ответа около 2 минут, по сравнению с 2 секундами в методе 1).
Я также отключил любую after_hook
логику, просто чтобы изолировать любые другие эффекты.
Любой намек на то, что может быть основной причиной?