From 297f8a17a5c1bf0e9fad56e707745366e98e47d6 Mon Sep 17 00:00:00 2001 From: Naeel Date: Sun, 12 Apr 2026 19:34:48 +0300 Subject: [PATCH] benchmark: add local WSL test, clarify VM Nubes context --- BENCHMARK-COMPARISON.md | 62 ++++++++++++++++++----------------------- 1 file changed, 27 insertions(+), 35 deletions(-) diff --git a/BENCHMARK-COMPARISON.md b/BENCHMARK-COMPARISON.md index ff97dc8..5e8a94a 100644 --- a/BENCHMARK-COMPARISON.md +++ b/BENCHMARK-COMPARISON.md @@ -1,50 +1,42 @@ # Сравнение производительности: 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 мс**. +- shared-SQS показывает результаты на уровне Yandex MQ. +- Первый запрос (cold start): shared-SQS стабильно быстрее. - Поддерживаются все 17 операций AWS SQS API. -## Скорость отправки сообщений +## Тест 1: с VM в облаке Nubes -Сколько сообщений в секунду может обработать сервис при разном числе одновременных клиентов. +Запуск с виртуальной машины в облаке Nubes. shared-SQS находится в том же облаке, Yandex MQ — внешний сервис. -| Сценарий | 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 | +| Сценарий | 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 мс | +| Первый запрос | 53 мс | 131 мс | +| 1 клиент, 100 сообщений подряд | 25 сообщ/с | 11 сообщ/с | +| 5 клиентов одновременно | 109 сообщ/с | 46 сообщ/с | +| 10 клиентов одновременно | 166 сообщ/с | 87 сообщ/с | +| 20 клиентов одновременно | 226 сообщ/с | 139 сообщ/с | +| 50 клиентов одновременно | 264 сообщ/с | 267 сообщ/с | +## Тест 2: с локальной машины (WSL) + +Запуск с локальной машины через интернет. Оба сервиса — внешние, условия одинаковые. + +| Сценарий | shared-SQS | Yandex MQ | +|---|---:|---:| +| Первый запрос | 59 мс | 157 мс | +| 1 клиент, 100 сообщений подряд | 6 сообщ/с | 5 сообщ/с | +| 5 клиентов одновременно | 9 сообщ/с | 14 сообщ/с | +| 10 клиентов одновременно | 19 сообщ/с | 24 сообщ/с | +| 20 клиентов одновременно | 38 сообщ/с | 29 сообщ/с | +| 50 клиентов одновременно | 77 сообщ/с | 81 сообщ/с | + +> Тест: отправка сообщений (SendMessage) через прямой HTTP с подписью AWS SigV4. ## Какие операции проверены @@ -59,4 +51,4 @@ ## Итог shared-SQS — полнофункциональный AWS SQS-совместимый сервис. -При обычной нагрузке **быстрее Yandex MQ в 2–2.5 раза**. При экстремальной нагрузке — на одном уровне. +Производительность на уровне Yandex MQ при запуске через интернет.