Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Для тестирования производительности точек доступа параллельными нагрузочным испытанием при помощи сенсоров типа 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":{} }
}