«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > API данных для Amazon Aurora Serverless с AWS SDK для Java. Часть сравнения «холодного» и «теплого» запуска: API данных против DynamoDB

API данных для Amazon Aurora Serverless с AWS SDK для Java. Часть сравнения «холодного» и «теплого» запуска: API данных против DynamoDB

Опубликовано 29 июля 2024 г.
Просматривать:103

Data API for Amazon Aurora Serverless vith AWS SDK for Java - Part omparing cold and warm starts: Data API vs DynamoDB

Введение

В части 7 серии Data API для Amazon Aurora Serverless v2 с AWS SDK для Java — API данных и SnapStart мы измерили время холодного и горячего запуска функции Lambda, подключающейся к базе данных PostgreSQL Amazon Aurora Serverless v2 с использованием данных API для трех вариантов использования:

  • без включения SnapStart в функции Lambda
  • с включенным SnapStart для функции Lambda, но без оптимизации заполнения
  • с включенным SnapStart для функции Lambda и с оптимизацией заполнения (предварительное выполнение SQL-запроса в базе данных PostgreSQL).

В этой статье мы хотели бы сравнить эти измерения с измерениями, но с использованием DynamoDB вместо Data API для Amazon Aurora Serverless v2.

Сравнение холодного и теплого запуска Lambda: API данных для Amazon Aurora Serverless v2 и DynamoDB

В моей серии статей о Lambda SnapStart мы уже проводили такие измерения для аналогичного приложения, но в статье «Измерение горячего запуска с Java 21 с использованием различных настроек памяти Lambda» .

Оба API данных приложений для Amazon Aurora Serverless v2 и DynamoDB очень похожи :

  • Они предоставляют логику для хранения и извлечения продуктов из базы данных
  • Лямбда-функции из обоих проектов имеют настройку памяти 1024 МБ
  • Размеры артефактов развертывания составляют около 18 МБ для обоих
  • Лямбда-функции из обоих проектов используют синхронный HTTP-клиент Apache по умолчанию для взаимодействия с базами данных
  • Лямбда-функции из обоих проектов используют архитектуру x86_64

Теперь давайте сложим все измерения вместе.

Время холодного (c) и теплого (m) старта в мс:

Подход c стр.50 c стр.75 c стр.90 c стр.99 c стр.99.9 максимум стр50 w стр75 w стр90 w стр.99 w p99.9 макс
API данных, SnapStart не включен 3154,35 3237 3284,91 3581,49 3702.12 3764,92 104,68 173,96 271,32 572.11 1482,89 2179.7
DynamoDB, SnapStart не включен 3157,6 3213,85 3270,8 3428.2 3601.12 3725.02 5,77 6,50 7,81 20,65 90,20 1423,63
API данных, SnapStart включен без загрузки 1856.11 1994.61 2467,83 3229.11 3238,80 3241,75 61.02 113,32 185,37 639,35 1973.30 2878,5
DynamoDB, SnapStart включен без загрузки 1626,69 1741.10 2040,99 2219,75 2319,54 2321,64 5,64 6,41 7,87 21.40 99,81 1355.09
API данных, SnapStart включен с предварительной загрузкой 990,84 1069.04 1634,84 2120.00 2285.03 2286,9 60.06 106,35 185,37 581,27 1605,37 2658.24
DynamoDB, SnapStart включен с праймингом 702,55 759,52 1038,50 1169,66 1179.05 1179,36 5,73 6,51 7,87 21,75 92,19 328,41

Заключение

В этой статье я сравнил измерения времени холодного и горячего старта функции Lambda при подключении к базе данных PostgreSQL Amazon Aurora Serverless v2 с использованием Data API и подключении к базе данных DynamoDB для трех вариантов использования:

  • без включения SnapStart в функции Lambda
  • с включенным SnapStart для функции Lambda, но без оптимизации заполнения
  • с включенным SnapStart для функции Lambda и с отправкой запроса к базе данных

Мы заметили, что время холодного запуска без включения SnapStart для функции Lambda вполне сопоставимо для обоих. В случае, если SnapStart включен (без и особенно с праймингом), Data API для Amazon Aurora Serverless v2 имеет значительно большее время холодного запуска, особенно для процентилей >= 90. Мне нужно будет копнуть глубже, чтобы понять эту разницу, поскольку я этого не сделал. ожидайте, что он будет таким большим, особенно если применялась грунтовка. Возможно, причина в том, что собственные сервисы AWS, такие как DynamoDB, лучше поддерживают SnapStart. Я лучше справляюсь с возобновлением подключения.

Время горячего запуска (выполнения) всегда было намного выше для API данных для Amazon Aurora Serverless v2 по сравнению с DynamoDB, чего я также ожидал, поскольку DynamoDB известна своим временем отклика, измеряемым однозначными или двузначными миллисекундами.

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/aws-builders/data-api-for-amazon-aurora-serverless-v2-with-aws-sdk-for-java-part-9-comparing-cold- и- Warm-starts-data-api-vs-dynamodb-2pg2?1Если есть какие-либо нарушения, пожалуйста, свяжитесь с [email protected], чтобы удалить их.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3