BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 26 апр 2024, 22:18

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 46 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Не открывается шлюз manad
СообщениеДобавлено: 22 апр 2010, 17:03 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
iONE писал(а):
Проблему решил при помощи тюнинга TCP на стороне manad сервера:

Код:
sysctl -w net.core.rmem_max=16777216
sysctl -w net.core.wmem_max=16777216
sysctl -w net.ipv4.tcp_rmem="4096 87380 16777216"
sysctl -w net.ipv4.tcp_wmem="4096 65536 16777216"


да, точно ..работает


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не открывается шлюз manad
СообщениеДобавлено: 22 апр 2010, 17:15 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
это похоже проблема перловых библиотек работы с сетью ..Либо надо как-то manad переписать


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не открывается шлюз manad
СообщениеДобавлено: 22 апр 2010, 17:16 
Не в сети

Зарегистрирован: 16 ноя 2007, 16:11
Сообщения: 829
Карма: 49
А мы уж подумали, что сетевыми настройками вы в ЛС обменялись. :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не открывается шлюз manad
СообщениеДобавлено: 22 апр 2010, 17:16 
Не в сети

Зарегистрирован: 16 ноя 2007, 16:11
Сообщения: 829
Карма: 49
stark писал(а):
это похоже проблема перловых библиотек работы с сетью ..Либо надо как-то manad переписать

Какой код ошибки при закрытии сокета?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не открывается шлюз manad
СообщениеДобавлено: 22 апр 2010, 17:32 
Не в сети
Клиент

Зарегистрирован: 25 ноя 2007, 22:48
Сообщения: 472
Карма: 8
Нет никакой ошибки, просто блок кода в манаде делает сравнение размера отправленных данных с размером буфера отправляемых данных, и если за один заход ему не удаётся пропихнуть всё, он считает что это ошибка и сам закрывает сокет. Так что позволив при помощи тюнинга системы пропихивать больше данных за один заход, мы просто отсрочили проблему.


Последний раз редактировалось iONE 22 апр 2010, 17:37, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не открывается шлюз manad
СообщениеДобавлено: 22 апр 2010, 17:37 
Не в сети

Зарегистрирован: 16 ноя 2007, 16:11
Сообщения: 829
Карма: 49
iONE писал(а):
Нет никакой ошибки, просто блок кода в манаде делает сравнение размера отправленных данных с размером буфера отправляемых данных, и если за один заход ему не удаётся пропихнуть всё, он считает что это ошибка и сам закрывает сокет.


И вы, в качестве walkaround'a увеличили размер системного буфера, дабы манад думал, что уже все отправилось и не расстраивался?
Если мы сумеем воспроизвести такую картинку на фреебсд, попробуем подкрутить манад.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не открывается шлюз manad
СообщениеДобавлено: 22 апр 2010, 17:42 
Не в сети
Клиент

Зарегистрирован: 25 ноя 2007, 22:48
Сообщения: 472
Карма: 8
Надо просто перед началом отправки данных запросить макс. размер у системы, и нарезать свои данные на кусочки если они превышают системный размер.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не открывается шлюз manad
СообщениеДобавлено: 22 апр 2010, 17:53 
Не в сети

Зарегистрирован: 16 ноя 2007, 16:11
Сообщения: 829
Карма: 49
Или отказаться от неблокирующих сетевых вызовов.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не открывается шлюз manad
СообщениеДобавлено: 22 апр 2010, 19:05 
Не в сети

Зарегистрирован: 16 ноя 2007, 16:11
Сообщения: 829
Карма: 49
Наш шлюз "удержал" примерно 6800 договоров.
После модификации manad - все 10000.
Суть патча - включить блокирующий режим сокета перед отправкой данных обратно на биллинг.

Цитата:
sub block
{
my $socket = shift;
my $flags;

$flags = fcntl( $socket, F_GETFL, 0 )
or die "Can`t get flags for socket: $!\n";
fcntl( $socket, F_SETFL, $flags ^ O_NONBLOCK )
or die "Can`t make socket nonblocking: $!\n";
}

Цитата:
block( $client );
$rv = $client->send( $outbuffer{$client}, 0 );
nonblock( $client );


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не открывается шлюз manad
СообщениеДобавлено: 23 апр 2010, 11:02 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
достаточно убрать вызовы команд nonbloсk и все


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не открывается шлюз manad
СообщениеДобавлено: 23 апр 2010, 11:09 
Не в сети

Зарегистрирован: 16 ноя 2007, 16:11
Сообщения: 829
Карма: 49
stark писал(а):
достаточно убрать вызовы команд nonbloсk и все

Для этого нужно знать, зачем сетевая часть делалась неблокирующей...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не открывается шлюз manad
СообщениеДобавлено: 23 апр 2010, 11:15 
Не в сети
Клиент

Зарегистрирован: 25 ноя 2007, 22:48
Сообщения: 472
Карма: 8
За основу серверной части, взят пример один в один из учебника по перл, там и было всё сделано на неблокирующих сокетах. Так что думаю что над этим никто не задумывался при реализации.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не открывается шлюз manad
СообщениеДобавлено: 26 апр 2010, 13:43 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
vdd писал(а):
stark писал(а):
достаточно убрать вызовы команд nonbloсk и все

Для этого нужно знать, зачем сетевая часть делалась неблокирующей...


Этого никто не знает :) ..Более того, никто не помнит кто это делал вначале


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не открывается шлюз manad
СообщениеДобавлено: 26 апр 2010, 17:07 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
убрал неблокирующие вызовы , выложил новую сборку обоих манадов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не открывается шлюз manad
СообщениеДобавлено: 21 июл 2010, 11:42 
Не в сети

Зарегистрирован: 17 ноя 2009, 08:47
Сообщения: 215
Откуда: krsn
Карма: 48
stark писал(а):
убрал неблокирующие вызовы , выложил новую сборку обоих манадов

можно ссылку на эти сборки?

_________________
Изображение
using billingClient.BGB 4.6;
using server.Ubuntu server 9.10;
using server.Java "1.6.0_15";
using client.Ubuntu 10.04;


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не открывается шлюз manad
СообщениеДобавлено: 23 июл 2010, 13:03 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
nolka4 писал(а):
stark писал(а):
убрал неблокирующие вызовы , выложил новую сборку обоих манадов

можно ссылку на эти сборки?

в документации по manad для freebsd


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 46 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
POWERED_BY
Русская поддержка phpBB
[ Time : 0.196s | 52 Queries | GZIP : On ]