Содержание
Отчёт о тесте в 64000 соединений онлайн
В прошлой статье мы рассмотрели как провести нагрузочное тестирование. А здесь я покажу как я его сам проводил, и приведу его результаты.
Нагрузка в 64000 это максимум, который позволит создать операционная система при тестировании на одной машине. Если хотите больше, то надо тестировать один сервер с нескольких машин одновременно. Так как TCP-соединение уникально определяется четверкой [source ip, source port, dest ip, dest port], таким образом с одной машины на 1 порт сервера можно создать не более 64 тыс одновременных соединений
Результаты
Вывод комет сервера
На скриншоте цифрами обозначены
- Количество соединений онлайн
- Время работы сервера в секундах
- Колонка со списком какой процесс сколько сетевых событий обработал за всё время. (таких как подключение, приём сообщений, закрытие соединения)
- Первый процесс в списке обработал больше всех так как он занимался приёмом входящих соединений (При обычной нагрузке такого большого отрыва нет так как входящие подключение устанавливается на долго)
- Остальные процессы для уже принятых соединений обрабатывали входящие сообщения
- Колонка PcS обозначает какой процесс сколько сетевых событий обработал за последнею секунду (На gif анимации в этой колонке не нули) Нули так как соединения приняты и висят в ожидании входящих сообщений, но данным тестовым сценарием мы не отсылаем каких-то дополнительных событий.
Вывод htop
На скриншоте цифрами обозначены
- Процессы комет сервера (Видно что он потратил 4891 Мб оперативной памяти)
- Процессы tsung (Видно что он потратил 2262 Мб оперативной памяти)
- Общее потребление памяти (Остальное было израсходовано операционной системой и другими программами запущенными в момент тестирования)
Процесс тестирования
Gif анимация процесса тестирования. Видно что идёт прирост около 2500 соеденений в секунду и то что все ядра загружаются почти равномерно. Так же виден рост потребления памяти.
Отчёт tsung
Ниже приведены только 2 графика, полная версия отчёта расположена на github.
Обсуждение