Мы используем Consul v1.11.1 KV для хранения некоторых данных, предназначенных в основном для чтения (около 50 байт на ключ). Недавно я проводил тест производительности на Consul.Сначала я использую один сервер (8 ядер ЦП, 2,4 ГГц, 16 ГБ ОЗУ, 300 ГБ SSD)
wrk -t8 -d30 -c200 http:8500/v1/kv/aa Запуск 30-секундного теста @ http://10.190.4.251:8500/v1/kv/аа
8 потоков и 200 соединений
Статистика темы Ср. ст. отклонение Макс. +/- Ст. отклонение
Задержка 2,86 мс 2,99 мс 55,02 мс 88,33%
Запрос/сек 10,71 тыс. 2,00 тыс. 19,79 тыс. 69,19%
2565410 запросов за 30,09 с, чтение 0,93 ГБ
Запросов/сек: 85251,41
Передача/сек: 31,79 МБ макс. ЦП 700%
Затем я создаю кластер с другим сервером такой же конфигурации (8 ядер ЦП, 2,4 ГГц, 16 ГБ ОЗУ, 300 ГБ SSD) и создаю haproxy для балансировки нагрузки. введите описание изображения здесь
в настоящее время максимальная загрузка процессора 300% на сервер. результат
Бег на 2 метра @ http://10.190.5.152:8999/v1/kv/аа 8 потоков и 200 подключений. : 13,89 МБ
я увеличиваю количество подключений, но нахожу ответ, отличный от 2xx.
Бег на 2 метра @ http://10.190.5.152:8999/v1/kv/аа 8 потоков и 250 подключений. , запись 0, время ожидания 0 Ответы, отличные от 2xx или 3xx: 64 запроса/сек: 37353,78
Более высокая производительность одного сервера по сравнению с кластером. Я не знаю, почему? Я использую это неправильно?