Files
shared-SQS/BENCHMARK-COMPARISON.md
T

65 lines
4.4 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 в том же датацентре, условия идентичные для обоих провайдеров.
## Время ответа по операциям
Время выполнения каждой операции, замеренное через стандартный 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 в 22.5 раза**. При экстремальной нагрузке — на одном уровне.