При включенной трассировке AWS-XRay в моей лямбда-функции я обнаружил, что с увеличением числа параллельных запросов для динамической обработки производительность чтения уменьшается.
Вот пример XRay Traces:
Выше видно, что первый набор запросов GetItem выполняется менее чем за 300 мс. Этот набор имеет только 6 асинхронных запросов на чтение, работающих параллельно. Все последующие наборы запросов на чтение выполняются в среднем по меньшей мере за 1,5 секунды - при одновременной работе 57 асинхронных запросов на чтение.
Мысли о том, с чем это может быть связано:
- это может быть связано с функцией "холодного запуска", так как DynamodB добавляет возможности для параллельного чтения? (Этот экземпляр dyanmodb оплачивается по запросу, а не предоставляется)
Кроме того, я признаю, что это может не быть связано с параллельными запросами вообще, но это может быть хорошим местом, чтобы начать задавать вопросы. Хотите знать, если кто-нибудь знает, что может вызвать такое резкое снижение производительности.