Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Сетевые ограничения ядра Ubuntu  (Прочитано 1897 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Laika

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Сетевые ограничения ядра Ubuntu
« : 31 Августа 2009, 15:31:11 »
Друзья, есть вопрос. У меня установлен сервис на порту 17881, по этому порту проходит порядка тысячи соединений каждую секунду, т.е из внешней сети конектится порядка тысячи пользователей. Но тут возникает проблема, что например 1001 1002 и т д уже начинают испытывать затруднения с подключением к порту, а 1010ый юзер слышит порт как закрытый. Т.е подключения после 1002 не идут или идут с фантастической задержкой, что на 1010 расценивается как офлайн. Вопрос следующий, как лучше и правильно потюнить Ubuntu сервер для приема больших объемов соединений на один порт?

rapidsp

  • Гость
Re: Сетевые ограничения ядра Ubuntu
« Ответ #1 : 31 Августа 2009, 15:49:25 »
А проц при этом не перегружен?
Очень похоже на описание ДОС атаки :) Наблюдал как-то такое.

Оффлайн Laika

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Сетевые ограничения ядра Ubuntu
« Ответ #2 : 31 Августа 2009, 15:54:46 »
Нет, это клиенты ломятся (их много). И ресурсов полно, т.е например на любой другой порт соединение моментальное и качественное, топ показывает что 80% системных ресурсов свободно. Забит непосредственно порт и я думаю что это как то настраивается чрез размер сетевого буфера в sysctl.conf . Мне нужно расширить до 2000 соединений на один порт. Может кто лучше знаком с этим вопросом.

Оффлайн sciko

  • Активист
  • *
  • Сообщений: 854
    • Просмотр профиля
Re: Сетевые ограничения ядра Ubuntu
« Ответ #3 : 31 Августа 2009, 16:13:22 »
А у тебя случаем фаерволл не режет соединения >тысячного?

Оффлайн Laika

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Сетевые ограничения ядра Ubuntu
« Ответ #4 : 31 Августа 2009, 16:27:00 »
Он не настраивался на такие ограничения, однако есть мнение что фв работает на уровне ядра, а там соотвественно есть ограничение на количество одновременных соединений в порт - то возможно фв и участвует в этом. Однако я склонен думать что проблема именно в настройках ядра. Т.е изменив net.ipv4.tcp_mem в sysctl.conf можно увеличить число возможных соединений. Или я не прав?  В целом тему наверное следовало бы назвать "Оптимизации стека и настройка sysctlf в Ubuntu server"
« Последнее редактирование: 31 Августа 2009, 16:35:28 от Laika »

Оффлайн masters

  • Новичок
  • *
  • Сообщений: 33
    • Просмотр профиля
Re: Сетевые ограничения ядра Ubuntu
« Ответ #5 : 31 Августа 2009, 16:39:14 »
Он не настраивался на такие ограничения, однако есть мнение что фв работает на уровне ядра, а там соотвественно есть ограничение на количество одновременных соединений в порт - то возможно фв и участвует в этом. Однако я склонен думать что проблема именно в настройках ядра. Т.е изменив net.ipv4.tcp_mem в sysctl.conf можно увеличить число возможных соединений. Или я не прав?  В целом тему наверное следовало бы назвать "Оптимизации стека и настройка sysctlf в Ubuntu server"

Помоему, в отличие от ХР у Linuxа количество полуоткрытых соединений находится в районе 65тыс, но никак не тысяча  ???

Оффлайн Laika

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Сетевые ограничения ядра Ubuntu
« Ответ #6 : 31 Августа 2009, 16:48:05 »
Помоему, в отличие от ХР у Linuxа количество полуоткрытых соединений находится в районе 65тыс, но никак не тысяча  ???

Хм... тогда в чем может быть дело? почему порт не отвечает на числе соединений больше 950, т.е онодостигает 950 легко, после начинаются задержки а к 960 уже почти не отвечает на 965 стабильно не отвечает. Т.е 965 может и не достигнуть если юзеры не будут ломится усилено. (это точные цифры - 1000 брал для наглядности)

Оффлайн sciko

  • Активист
  • *
  • Сообщений: 854
    • Просмотр профиля
Re: Сетевые ограничения ядра Ubuntu
« Ответ #7 : 31 Августа 2009, 16:50:08 »
Или я не прав?
Не прав. Никаких ограничений в ядре нет.
Кстати, а кто (что за прога) у тебя слушает этот порт? Ограничением может быть запуск для каждого соединения отдельной копии или создание отдельного конфига.

Оффлайн Laika

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Сетевые ограничения ядра Ubuntu
« Ответ #8 : 31 Августа 2009, 16:58:57 »
Не прав. Никаких ограничений в ядре нет.
Кстати, а кто (что за прога) у тебя слушает этот порт? Ограничением может быть запуск для каждого соединения отдельной копии или создание отдельного конфига.
Собственно это модуль авторизации (в системе), можно сказать самописный. Хм... может действительно сам процесс перестает слушать порт не потянув нагрузку, это интересная мысль.

Оффлайн sciko

  • Активист
  • *
  • Сообщений: 854
    • Просмотр профиля
Re: Сетевые ограничения ядра Ubuntu
« Ответ #9 : 31 Августа 2009, 17:07:17 »
Собственно это модуль авторизации (в системе), можно сказать самописный. Хм... может действительно сам процесс перестает слушать порт не потянув нагрузку, это интересная мысль.
Если этот модуль каждый раз при коннекте пытается считать что-нибудь из файла, то у тебя банально не хватает производительности диска.

Оффлайн Laika

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Сетевые ограничения ядра Ubuntu
« Ответ #10 : 31 Августа 2009, 17:23:27 »
Если этот модуль каждый раз при коннекте пытается считать что-нибудь из файла, то у тебя банально не хватает производительности диска.
Ну там нет моментального потока в 1000 запросов, поток идет по 10-20 моментальных запросов, т.е проходит авторизация и организуется сессия трафика по порту, авторизация идет в mysql. Т.е банально заканчиваются сессии 965 сессий максимум и дальше уже порт просто не отвечает. Причем трафик в 965 сессий проходит отлично без задержек или видимых проблем, однако 966 сессия уже не организуется.

Оффлайн sciko

  • Активист
  • *
  • Сообщений: 854
    • Просмотр профиля
Re: Сетевые ограничения ядра Ubuntu
« Ответ #11 : 31 Августа 2009, 17:28:29 »
У MySQL есть ограничение на число одновременных присоединений (задаётся) и у Апача тоже есть.

Пользователь решил продолжить мысль 31 Августа 2009, 17:29:13:
Кстати, если используешь механизм сессий, то там тоже может быть узкое место.

 

Страница сгенерирована за 0.042 секунд. Запросов: 19.