Для тестирования производительности точек доступа параллельными нагрузочным испытанием при помощи сенсоров типа qow-lite (wdq) применяется упрощенный способ.
...
Оно имеет следующие параметры выбора:
- SSID, BSSID и частотный канал конкретной тестируемой точки доступа (выпадающий список)
- Число тестирующих сенсоров типа 820; если задано "0" - работают все доступные сенсоры в группе
- Число тестирующих сенсоров типа 840; если задано "0" - работают все доступные сенсоры в группе
- Задержка запуска, время (в секундах), которое используется для формирование потока команд на сенсоры так, чтобы запуск подключения-измерения проводился с некоторой задержкой между сенсорами, для избежания массового одновременного старта. По умолчанию 1 секунда.
- Тип теста: TCP или UDP (по умолчанию: TCP)
- Длительность теста, в секундах (по умолчанию: 30)
- Направление теста (передачи трафика): прямое, обратное, оба
- Ограничение скорости, в Мбит/с (для UDP теста)
Запуск теста приводит к отправке на каждый сенсор MQTT-команды типа "FASTTEST" с следующими параметрами:
qos/XX:XX:XX:XX:XX:XX/cmd {"type":"FASTTEST", "sid":"random-sid-value",
"connect": {"ssid":"network-name", "security":"psk", "password":"12345678", "bssid":"XX:XX:XX:XX:XX:XX", "band":0},"measure": {"duration:" 30, "cmd": "iperf3 -4 -c 1.2.3.4:4444 100M -u -J -R"}}
Сенсор должен подключиться к заданной сети, запустить получение IP адреса, и затем выполнить команду, указанную в measure.cmd. Максимальное её время выполнения задается в duration, при превышении этого времени запускаемый процесс должен быть убит.
В ответ сенсор должен собрать stdout тестирующей утилиты iperf (или что было указано в командной строке measure.cmd), и вернуть его результаты на сервер в следующем формате:
qos/XX:XX:XX:XX:XX:XX/data {"type":"FASTTEST", "sid":"req-sid-value",
"connect": {"status": true, "duration": 12345, "ip":"5.6.7.8"},"measure":{"status": true, "duration": 12345, "result":{iperf-json-object} }
}
Где { iperf-json-object } - объект, полученный в результате выполнения команды iperf.
...
qos/XX:XX:XX:XX:XX:XX/data {"type":"FASTTEST", "sid":"req-sid-value",
"connect": {"status": false, "duration": 12345, "error":"словесное описание причины ошибки"},"measure":{"status": false, "duration": 0, "result":{} }
}