Сброс соединения если много Core.Send*, PtokaX 0.4.1.1 \ Debian 5 |
Здравствуйте, гость ( Вход | Регистрация )
Сброс соединения если много Core.Send*, PtokaX 0.4.1.1 \ Debian 5 |
28.11.2009, 1:15
Сообщение
#1
|
|
Абсолютный новичок Группа: Пользователи Сообщений: 8 Регистрация: 19.4.2009 Из: here&now Пользователь №: 3 101 Спасибо сказали: 3 раза |
PtokaX 0.4.1.1 \ Debian 5
Проблема: Если отправлять много сообщений пользователю скриптом (функции Core.SendTo*; Core.SendPm* и т.п.) то хаб отключает его (пользователя) без каких-либо причин (не информирует). В винде этого нет. Как-будто происходит переполнение буфера. Кто с этим сталкивался? З.Ы. Для примера. Хаб ~ 2k. В PtokaX установлена отправка MyINFO в минимальном виде (только размер файллиста, ник само собой). Скрипт. Создаёт таблицу пользователей, берёт MyINFO, корректирует (изменяет описание, тэг и т.п.), забивает новый в таблицу и затем отправляет всем изменённый (при срабатывании MyINFOArrival). Соответственно при входе на хаб пользователю отправляется 2к изменённых майинфо скриптом (и конечно же, минимальные самой птокой). |
|
|
28.11.2009, 1:37
Сообщение
#2
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
На винде я тоже с таким сталкивался, когда с хаба отправлял в личку большие объёмы информации. Не знаю чем это может быть вызвано. Возможно действительно нужно увеличить буфер отправки.
|
|
|
28.11.2009, 7:54
Сообщение
#3
|
|
Абсолютный новичок Группа: Пользователи Сообщений: 8 Регистрация: 19.4.2009 Из: here&now Пользователь №: 3 101 Спасибо сказали: 3 раза |
В винде как раз всё хорошо. Дело не в количестве знаков в одном сообщении а именно в частоте использовании функции отправки.
Размеры буферы устанавливаются такие: echo "33554432" > /proc/sys/net/core/rmem_max echo "33554432" > /proc/sys/net/core/wmem_max echo "8388608" > /proc/sys/net/core/rmem_default echo "4194394" > /proc/sys/net/core/wmem_default echo "4096 8388608 16777216" > /proc/sys/net/ipv4/tcp_rmem echo "4096 4194394 16777216" > /proc/sys/net/ipv4/tcp_wmem |
|
|
28.11.2009, 23:02
Сообщение
#4
|
|
7 квадратиков Группа: Модераторы Сообщений: 793 Регистрация: 21.1.2009 Пользователь №: 1 895 Спасибо сказали: 301 раз |
На скрипт можно взглянуть?
|
|
|
29.11.2009, 8:27
Сообщение
#5
|
|
Абсолютный новичок Группа: Пользователи Сообщений: 8 Регистрация: 19.4.2009 Из: here&now Пользователь №: 3 101 Спасибо сказали: 3 раза |
Проблема решена. Внимание, это происходило из-за отключения в PtokaX параметра "Keep slow users online".
Не знаю зачем я его когда то отключил.. видимо проверить, результат оказался, как говорится на лицо )) З.Ы. В винде у меня как раз стояла эта галка, поэтому проблемы там и не было. |
|
|
29.11.2009, 15:25
Сообщение
#6
|
|
Главный ра******й тут... Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз |
Тогда появляется вопрос, как реализуется данный метод в плане кода хаба? Просто больше таймаут для сокета или что?
|
|
|
30.11.2009, 22:49
Сообщение
#7
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
В плане кода, я посмотрел, там вот как:
если размер буфера отправки начинает превышать некое пороговое значение, и при этом отключена настройка "Keep slow users online", тогда хаб отключает пользователя с переполненным буфером отправки. Если же при данном переполнении включена указанная настройка, то хаб отделяет от буфера несколько первых команд и отсылает пользователю только их, а остальные команды оставляет в буфере и отправляет в следующей партии. |
|
|
Похожие темы
|
Сейчас: 23.11.2024, 6:28 |