У меня есть 2 похожих сервера: 16 vCPU, 2,4 ГГц, Intel Xeon E5-2676v3, 64 гигабайта памяти.Почему Yandex Tank не генерирует требуемую нагрузку
Первый из них создает нагрузку, второй запрос процесса.
Config load.ini:
[phantom]
address=0.0.0.0 ;target's address(chanched, of course)
port=443 ;target's port
rps_schedule=step(1000,10000,1000,15s) ;load scheme
ssl=1
header_http = 1.1
headers = [Host: api.somehost.io]
[Content-Type: application/json]
[Connection: close]
uris = /api/test
Ожидаемое: нагрузки будет сгенерирован шаг за шагом, начиная с 1 000 RPS, каждые 15 добавить 1 000 RPS, до 10 000 RPS.
Мы имеем:
Ожидаемое 1000, у ~ 1000 (Среднее время отклика 7 мс).
Ожидаемый 2000, есть ~ 2000 (среднее время отклика 30 мс).
Ожидаемые 3000, имеют ~ 2700 (среднее время отклика 250 мс).
Ожидаемый 4000, имеют ~ 2700 (среднее время отклика 250 мс).
Кроме того, независимо от того, насколько планируемый увеличилась RPS, фактические остатки в пределах ~ 2700.
Наличие некоторые предложения: 1. Яндекс Tank «понимает», что сервер не может обработать такую нагрузку и не увеличивать его , 2. Сервер не может установить дополнительные подключения
Тестирование URL-адреса -/api/test обрабатывается приложением rails + nginx в качестве прокси-сервера.
Я проверил тестирование с использованием статических файлов, чтобы проверить второе предложение. Результаты: https://overload.yandex.net/8175
Количество соединений более 2700 = ~ 200 000. Но это число меньше, чем требуется в файле load.ini - const (500000,15s).
Вопрос: почему Yandex Tand не генерирует требуемую нагрузку? или я могу понять результаты неправильно?
Существует также участок «Нить» в https://overload.yandex.net/8175#tab=test_data&tags= & plot_groups = extended & machines = 1859 & metrics = & slider_start = 1486625970 & slider_end = 1486626010 & compress_ratio = 1, в котором показано количество экземпляров использованного цистерны. Следите за ним - если он находится рядом с максимальным значением, у вас есть максимальный бак с текущими настройками. – r2d2