Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
comet:load-testing [2018/02/24 12:28] anastation468 [Сценарий тестирования] |
comet:load-testing [2018/02/24 18:42] anastation468 [Анализ результатов] |
||
---|---|---|---|
Строка 60: | Строка 60: | ||
===== Нагрузка более чем 64000 онлайн ===== | ===== Нагрузка более чем 64000 онлайн ===== | ||
- | Нагрузка в 64000 это максимум который позволит создать операционная система. Если хотите больше то надо тестировать один сервер с нескольких машин с tsung одновременно. TCP-соединение уникально определяется четверкой [source ip, source port, dest ip, dest port], таким образом с одной машины на 1 порт сервера можно создать не более 64 тыс одновременных соединений | + | Нагрузка в 64000 это максимум? который позволит создать операционная система. Если хотите больше, то надо тестировать один сервер с нескольких машин с tsung одновременно. TCP-соединение уникально определяется четверкой [source ip, source port, dest ip, dest port], таким образом с одной машины на 1 порт сервера можно создать не более 64 тыс одновременных соединений |
===== Запуск сервера ===== | ===== Запуск сервера ===== | ||
Строка 80: | Строка 80: | ||
backlog = 10000 | backlog = 10000 | ||
epoll_size = 100000 | epoll_size = 100000 | ||
- | thread_num = 12 ; количество потоков, делайте больше чем ядер на сервере так как сервер не lock-free | + | thread_num = 12 ; количество потоков, делайте больше, чем ядер на сервере так как сервер не lock-free |
benchmark = 1 ; Интервал между замерами нагрузки (0 = не замерять) | benchmark = 1 ; Интервал между замерами нагрузки (0 = не замерять) | ||
port = 8087 | port = 8087 | ||
uptimeTestInterval = 600 ; Интервал для проверок uptime у соединений (так же за одно выправляет значение счётчика пользователей онлайн) | uptimeTestInterval = 600 ; Интервал для проверок uptime у соединений (так же за одно выправляет значение счётчика пользователей онлайн) | ||
- | maxUptime = 0 ; Максимально значение uptime после которого коннект отключается. | + | maxUptime = 0 ; Максимально значение uptime, после которого коннект отключается. |
</code> | </code> | ||
- | А потом запустить сервер в консольном режиме чтоб видеть вывод статистики | + | А потом запустить сервер в консольном режиме, чтобы видеть вывод статистики |
<code bash> | <code bash> | ||
./cpp_comet | ./cpp_comet | ||
Строка 104: | Строка 104: | ||
В процессе тестирования вы можете наблюдать за загрузкой ОС на пример через программы htop или iotop | В процессе тестирования вы можете наблюдать за загрузкой ОС на пример через программы htop или iotop | ||
- | Проверить то что встроенный в комет сервер счётчик общего количества соединений онлайн показывает цифры близкие к правде можно командой: | + | Проверить то, что встроенный в комет сервер счётчик общего количества соединений онлайн показывает цифры близкие к правде можно командой: |
<code bash> | <code bash> | ||
ss -p | grep "cpp_comet" | wc -l | ss -p | grep "cpp_comet" | wc -l | ||
Строка 110: | Строка 110: | ||
Она подсчитает количество входящих соединений средствами операционной системы. | Она подсчитает количество входящих соединений средствами операционной системы. | ||
- | По окончании тестирования tsung в папку складывает отчёт о тестировании. Но чтобы его было можно посмотреть надо его обработать скриптом который идёт вместе с самим tsung. Скрипт лежит в папке /usr/lib/tsung/bin/tsung_stats.pl | + | По окончании тестирования tsung в папку складывает отчёт о тестировании. Но, чтобы его было можно посмотреть надо его обработать скриптом, который идёт вместе с самим tsung. Скрипт лежит в папке /usr/lib/tsung/bin/tsung_stats.pl |
<code bash> | <code bash> | ||
Строка 119: | Строка 119: | ||
После чего скрипт с генерирует уже человеко читаемый отчёт о тестировании. | После чего скрипт с генерирует уже человеко читаемый отчёт о тестировании. | ||
- | <note tip>Следует учитывать то что в данном сценарии и тест и сервер на одной машине так что грузить они её будут совместно. Для чистоты эксперимента рекомендуется сервер запускать на одной машине, а tsung на другой машине.</note> | + | <note tip>Следует учитывать то, что в данном сценарии и тест и сервер на одной машине, так что грузить они её будут совместно. Для чистоты эксперимента рекомендуется сервер запускать на одной машине, а tsung на другой машине.</note> |