Files
shared-SQS/BENCHMARK-COMPARISON.md
T

64 lines
4.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Сравнение производительности: shared-SQS vs Yandex Message Queue
Прямое сравнение скорости работы. Оба сервиса тестировались одним и тем же скриптом, с одной VM, в одинаковых условиях.
Дата: 2026-04-12.
## Главное
- shared-SQS **в 2–2.5 раза быстрее** Yandex MQ при обычной нагрузке.
- При экстремальной нагрузке (50 одновременных клиентов) — **одинаково**.
- Первый запрос (cold start): shared-SQS **53 мс**, Yandex MQ **131 мс**.
- Поддерживаются все 17 операций AWS SQS API.
## Скорость отправки сообщений
Сколько сообщений в секунду может обработать сервис при разном числе одновременных клиентов.
| Сценарий | shared-SQS | Yandex MQ | Результат |
|---|---:|---:|---|
| Первый запрос | 53 мс | 131 мс | shared-SQS **в 2.5 раза быстрее** |
| 1 клиент, 100 сообщений подряд | **25 сообщ/с** | 11 сообщ/с | shared-SQS **в 2.3 раза быстрее** |
| 5 клиентов одновременно | **109 сообщ/с** | 46 сообщ/с | shared-SQS **в 2.4 раза быстрее** |
| 10 клиентов одновременно | **166 сообщ/с** | 87 сообщ/с | shared-SQS **в 1.9 раза быстрее** |
| 20 клиентов одновременно | **226 сообщ/с** | 139 сообщ/с | shared-SQS **в 1.6 раза быстрее** |
| 50 клиентов одновременно | **264 сообщ/с** | 267 сообщ/с | одинаково |
> Тест: отправка сообщений (SendMessage) через прямой HTTP-запрос с подписью AWS SigV4.
> Запускалось с VM в том же датацентре, условия идентичные для обоих провайдеров.
## Время ответа по операциям
Среднее время выполнения каждой операции (в миллисекундах).
Замерено через прямой HTTP без CLI. Чем меньше — тем лучше.
| Операция | shared-SQS | Yandex MQ |
|---|---:|---:|
| Получить URL очереди | **52 мс** | 646 мс |
| Получить атрибуты очереди | **52 мс** | 120 мс |
| Отправить сообщение (1 КБ) | **40 мс** | 94 мс |
| Отправить сообщение (10 КБ) | **43 мс** | 97 мс |
| Отправить сообщение (32 КБ) | **44 мс** | 100 мс |
| Отправить пакет (10 сообщений) | **46 мс** | 103 мс |
| Получить сообщение | **48 мс** | 126 мс |
| Удалить сообщение | **42 мс** | 100 мс |
| Удалить пакет (10 сообщений) | **53 мс** | 115 мс |
| Изменить видимость (пакет 10) | **54 мс** | 109 мс |
> Это реальное время ответа сервиса. Предыдущие значения 700–900 мс включали время запуска утилиты aws-cli (~700 мс overhead), а не самого сервиса.
## Какие операции проверены
Все 17 операций AWS SQS API:
| Группа | Операции |
|---|---|
| Работа с сообщениями | SendMessage, SendMessageBatch, ReceiveMessage, DeleteMessage, DeleteMessageBatch, ChangeMessageVisibility, ChangeMessageVisibilityBatch |
| Управление очередями | CreateQueue, DeleteQueue, GetQueueUrl, GetQueueAttributes, SetQueueAttributes, ListQueues, PurgeQueue |
| Тэги | TagQueue, UntagQueue, ListQueueTags |
## Итог
shared-SQS — полнофункциональный AWS SQS-совместимый сервис.
При обычной нагрузке **быстрее Yandex MQ в 22.5 раза**. При экстремальной нагрузке — на одном уровне.