65 lines
4.4 KiB
Markdown
65 lines
4.4 KiB
Markdown
# Сравнение производительности: 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 в том же датацентре, условия идентичные для обоих провайдеров.
|
||
|
||
## Время ответа по операциям
|
||
|
||
Время выполнения каждой операции, замеренное через стандартный AWS CLI.
|
||
|
||
Формат: минимум / среднее / максимум / 95-й перцентиль (в миллисекундах).
|
||
|
||
| Операция | Yandex MQ | shared-SQS |
|
||
|---|---:|---:|
|
||
| Получить URL очереди | 766 / 1346 / 2266 / 2060 | 739 / 752 / 770 / 760 |
|
||
| Получить атрибуты очереди | 804 / 820 / 847 / 828 | 738 / 752 / 768 / 765 |
|
||
| Отправить сообщение (1 КБ) | 804 / 811 / 824 / 823 | 748 / 760 / 770 / 767 |
|
||
| Отправить сообщение (10 КБ) | 916 / 967 / 996 / 987 | 880 / 913 / 965 / 951 |
|
||
| Отправить сообщение (32 КБ) | 905 / 930 / 948 / 947 | 883 / 904 / 939 / 928 |
|
||
| Отправить пакет (10 сообщений) | 784 / 803 / 827 / 820 | 718 / 746 / 782 / 759 |
|
||
| Получить сообщение | 782 / 826 / 869 / 864 | 738 / 748 / 777 / 751 |
|
||
| Удалить сообщение | 783 / 800 / 823 / 814 | 727 / 742 / 757 / 755 |
|
||
| Удалить пакет (10 сообщений) | 818 / 845 / 872 / 864 | 742 / 783 / 821 / 810 |
|
||
| Изменить видимость (пакет 10) | 806 / 829 / 848 / 841 | 803 / 824 / 838 / 836 |
|
||
|
||
> Числа включают время запуска AWS CLI (~700 мс). Реальная задержка самого сервиса — 4–40 мс (см. таблицу выше).
|
||
|
||
## Какие операции проверены
|
||
|
||
Все 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 в 2–2.5 раза**. При экстремальной нагрузке — на одном уровне.
|