Django backend на aws lambda: что считается запросом?
Я рассматриваю возможность установки django backend на aws lambda, и мне нужно рассчитать затраты на основе количества запросов и продолжительности этих запросов. Как я могу рассчитать количество запросов в django (т.е. что считается в django запросом в aws lambda)? Является ли запрошенная страница эквивалентом запроса в aws lambda? Или доступ к базе данных эквивалентен одному запросу? Как я могу вычислить среднюю продолжительность запроса? Спасибо
Один HTTP-запрос от браузера к вашему серверу равен одному Lambda-запросу. Все, что ваша Lambda-функция (Django) делает внутри (например, запросы к базе данных), просто увеличивает время выполнения вызова функции и, следовательно, время, за которое выставляется счет, это не "запрос".
Если вы обслуживаете веб-сайт, браузер может делать множество запросов к серверу для каждой отдельной таблицы стилей CSS, файла Javascript, изображений и тому подобного. При хостинге на Lambda я бы рекомендовал такую настройку:
- используйте Zappa для развертывания на Lambda .
- используйте команду Django
collectstaticдля сбора статических файлов и развертывания их на S3; нет необходимости обслуживать статические файлы через функцию Lambda .
- установите CloudFront перед вашим ведром S3, чтобы обслуживать статические файлы молниеносно