Отчёт о тесте в 64000 соединений онлайн

В прошлой статье мы рассмотрели как провести нагрузочное тестирование. А здесь я покажу как я его сам проводил, и приведу его результаты.

Нагрузка в 64000 это максимум, который позволит создать операционная система при тестировании на одной машине. Если хотите больше, то надо тестировать один сервер с нескольких машин одновременно. Так как TCP-соединение уникально определяется четверкой [source ip, source port, dest ip, dest port], таким образом с одной машины на 1 порт сервера можно создать не более 64 тыс одновременных соединений

Результаты

На скриншоте видно 3 консоли. Пик тестирования

  1. В верхней я запустил tsung
  2. Слева комет сервер
  3. Справа htop

Вывод комет сервера

На скриншоте цифрами обозначены

  1. Количество соединений онлайн
  2. Время работы сервера в секундах
  3. Колонка со списком какой процесс сколько сетевых событий обработал за всё время. (таких как подключение, приём сообщений, закрытие соединения)
  4. Первый процесс в списке обработал больше всех так как он занимался приёмом входящих соединений (При обычной нагрузке такого большого отрыва нет так как входящие подключение устанавливается на долго)
  5. Остальные процессы для уже принятых соединений обрабатывали входящие сообщения
  6. Колонка PcS обозначает какой процесс сколько сетевых событий обработал за последнею секунду (На gif анимации в этой колонке не нули) Нули так как соединения приняты и висят в ожидании входящих сообщений, но данным тестовым сценарием мы не отсылаем каких-то дополнительных событий.

CppComet

Вывод htop

На скриншоте цифрами обозначены

  1. Процессы комет сервера (Видно что он потратил 4891 Мб оперативной памяти)
  2. Процессы tsung (Видно что он потратил 2262 Мб оперативной памяти)
  3. Общее потребление памяти (Остальное было израсходовано операционной системой и другими программами запущенными в момент тестирования)

htop

Процесс тестирования

Gif анимация процесса тестирования. Видно что идёт прирост около 2500 соеденений в секунду и то что все ядра загружаются почти равномерно. Так же виден рост потребления памяти.

Отчёт tsung

Ниже приведены только 2 графика, полная версия отчёта расположена на github.

Запросов в секунду

Запросов в секунду

Количество одновременных подключений

Количество одновременных подключений

Обсуждение

Ваш комментарий. Вики-синтаксис разрешён:
U K P T A