Table of Contents |
---|
Описание
Если сценарий использования сервера предусматривает микширование потоков, возникает необходимость нагрузочного тестирования микшера перед вводом сервера в эксплуатацию. Тестирование проводится следующим образом:
- На сервере публикуется необходимое количество потоков (минимум по одному потоку на микшер)
- Создается указанное количество аудиомикшеров, на вход которым подается заданное количество потоков. Один поток может быть подан на вход только одного микшера.
- Микшеры работают в течение заданного времени, после чего уничтожаются и создаются заново, до окончания тестирования.
В процессе тестирования можно наблюдать за поведением сервера при помощи средств мониторинга.
Для управления тестированием предназначены специальные REST API запросы.
REST-вызовы
REST-запрос должен быть HTTP/HTTPS POST запросом в таком виде:
- HTTP: http://streaming.flashphoner.com:8081/rest-api/mixer/test/start
- HTTPS: https://streaming.flashphoner.com:8444/rest-api/mixer/test/start
Здесь:
- streaming.flashphoner.com - адрес WCS-сервера
- 8081 - стандартный REST / HTTP порт WCS-сервера
- 8444 - стандартный HTTPS порт
- rest-api - обязательный префикс
- mixer/test/start - используемый REST-вызов
REST-вызовы и статусы ответа
...
REST-метод
...
Пример тела REST-запроса
...
Пример ответа
...
Статусы ответа
...
Описание
...
/mixer/test/start
...
Code Block | ||||
---|---|---|---|---|
| ||||
{
"feedingStreams": [
"s1",
"s2",
"s3",
"s4"
],
"mixerCount": 2,
"streamsInMixer": 2,
"intervalInSeconds": 60
}
|
...
200 - OK
500 - Internal error
...
Запускает тест, создавая два микшера, в каждый из которых вводятся два потока. Через 60 секунд микшеры уничтожаются
...
/mixer/test/stop
...
Code Block | ||||
---|---|---|---|---|
| ||||
{
} |
...
200 - OK
404 - Mixer not found
500 - Internal error
...
Останавливает тест
...
/mixer/test/get_start_example
...
Code Block | ||||
---|---|---|---|---|
| ||||
{
"feedingStreams": [
"stream1",
"stream2",
"stream3"
],
"mixerCount": 3,
"streamsInMixer": 1,
"intervalInSeconds": 60
}
|
...
200 - OK
500 - Internal error
...
Возвращает пример JSON-объекта, передаваемого на вход методу /mixer/test/start
Параметры
...
Имя параметра
...
Описание
...
Пример
...
feedingSteams
...
["s1","s2","s3","s4"]
...
Тестирование
1. Для теста используем:
- WCS сервер
- браузер Chrome и REST-клиент для отправки запросов
- веб-приложение Two Way Streaming для публикации потоков
2. Опубликуйте потоки с именами s1, s2, s3, s4
3. Откройте REST-клиент. Отправьте запрос /mixer/test/start, указав в параметрах:
- список опубликованных потоков: s1, s2, s3, s4
- количество микшеров: 2
- количество потоков на микшер: 2
- интервал работы микшера: 120 секунд
4. Убедитесь, что микшеры созданы, отправив запрос /mixer/find_all
Должно быть найдено два микшера mixer0 и mixer1
5. Во время теста можно наблюдать за потреблением ресурсов сервера при помощи Java Mission Control, страниц информации о нагрузке и ресурсах и информации об ошибках, а также серверных логов.
6. Остановите тест, отправив запрос /mixer/test/stop
Рекомендации по настройке
1. Если во время тестирования была выявлена большая загрузка CPU, следуйте рекомендациям по тонкой настройке сервера.
2. Если во время тестирования была выявлена утечка ресурсов, направьте описание теста и следующие файлы на адрес support@flashphoner.com:
...
Include Page | ||||
---|---|---|---|---|
|