Нагрузочное тестирование с использованием другого сервера¶
Настройка сервера Ubuntu¶
-
Установите Xvfb, Xorg для работы с виртуальным устройством вывода
-
Установите dummy sound card (в Ubuntu 20.04 и новее данный шаг можно пропустить)
-
Настройте виртуальный монитор: отредактируйте файл конфигурации
/usr/share/X11/xorg.conf.d/xorg.conf
Section "Device" Identifier "Configured Video Device" Driver "dummy" Option "ConstantDPI" "true" VideoRam 192000 EndSection Section "Monitor" Identifier "Configured Monitor" HorizSync 31.5-48.5 VertRefresh 50-70 Modeline "1600x1200" 22.04 1600 1632 1712 1744 1200 1229 1231 1261 Modeline "1600x900" 33.92 1600 1632 1760 1792 900 921 924 946 Modeline "1440x900" 30.66 1440 1472 1584 1616 900 921 924 946 ModeLine "1366x768" 72.00 1366 1414 1446 1494 768 771 777 803 Modeline "1280x1024" 31.50 1280 1312 1424 1456 1024 1048 1052 1076 Modeline "1280x800" 24.15 1280 1312 1400 1432 800 819 822 841 Modeline "1280x768" 23.11 1280 1312 1392 1424 768 786 789 807 Modeline "1360x768" 24.49 1360 1392 1480 1512 768 786 789 807 Modeline "1024x768" 18.71 1024 1056 1120 1152 768 786 789 807 Modeline "768x1024" 19.50 768 800 872 904 1024 1048 1052 1076 EndSection Section "Screen" Identifier "Default Screen" Monitor "Configured Monitor" Device "Configured Video Device" DefaultDepth 24 SubSection "Display" Depth 24 Modes "1600x1200" "1680x1050" "1600x900" "1400x1050" "1440x900" "1280x1024" "1366x768" "1280x800" "1024x768" EndSubSection EndSection Section "ServerFlags" Option "MaxClients" "2048" EndSection
-
Установите Apache и настройте SSL, если планируете размещать тестовую страницу на этом же сервере
-
Установите Chrome
Скрипты для нагрузочного тестирования¶
Архив со скриптами для нагрузочного тестирования доступен для скачивания здесь.
Архив содержит:
- директорию
player
со скриптами Web-плеера start_xorg.sh
- скрипт для запуска Xorgloadtest.sh
- скрипт для запуска тестов
Скрипты плеера должны быть доступны из Apache HTML директории: поместите директорию player
, например, в /var/www/html/tests/player
. Тестовую страницу player.html
можно вызывать с параметрами. Например:
Поддерживаются следующие параметры
- имя потока:
streamName=test
- автозапуск воспроизведения:
autoplay=true
- разрешение:
resolution=640x480
(при этом на сервере включается транскодинг, что увеличивает нагрузку на сервер) - технология воспроизведения:
mediaProvider=WebRTC,MSE
Также в тестах может быть использована страница Embed Player
с тестируемого сервера:
https://wcs:8888/embed_player?urlServer=wss://wcs:8443&streamName=test&mediaProviders=WebRTC&autoplay=true
Скрипту loadtest.sh
могут быть переданы следующие параметры:
обязательный:
url
- URL страницы плеера с необходимыми параметрами илиurlsfil
e - путь к файлу, содержащему несколько таких URL-адресов, которые будет пройдены по порядку
опциональные:
stressrate
- интервал добавления нового подписчика в миллисекундахttl
- время жизни подписчика в секундах, должно быть больше, чем число подписчиков, умноженное наstressrate
в секундахmaxsubscribers
- максимальное количество подписчиков
Запуск тестов¶
-
Запустите Xorg
-
Увеличьте максимальное количество открытых файлов в системе
-
Запустите
loadtest.sh
с необходимыми параметрами
Например,
или./loadtest.sh -url https://wcs:8888/embed_player?urlServer=wss://wcs:8443&streamName=test&mediaProviders=WebRTC&autoplay=true -maxsubscribers 50 -stressrate 1000 -ttl=300