socket overflow on Solaris10 x86

Все, что вы хотели знать о программизме, но боялись спросить.
Ответить
ir
Житель
Сообщения: 876
Зарегистрирован: 19 июл 2004, 23:36
Откуда: Ванкувер

socket overflow on Solaris10 x86

Сообщение ir »

[trn]mozh kto znaet, gde poryt' pri takoi probleme: pri bol'shoi nagruzke na solyarkovyi server s zhaboi idet chto-to tipa perepolneniya bufera soketa i novye konnekty refyused. V kakuyu storonu smotret' - na sistemy ili na zhabu? K-vo fd vrode bol'shoe (> 65000, no mozhet nado bol'she),
vremya taim-auta sokrasheno s 4 min do 1 (mozhet nado eshe men'she?). V logah nichego kriminal'nogo ne vidat'... vrode...
Nikakih vnyatnyh sovetov v gugle ne nashla, hotya problema eta izvestnaya. [/trn]
Аватара пользователя
Проф. Преображенский
Графоман
Сообщения: 20276
Зарегистрирован: 08 ноя 2006, 11:10

Сообщение Проф. Преображенский »

Imho, надо посмотреть на параллельные процессы с высоким приоритетом.
Аватара пользователя
aissp
Маньяк
Сообщения: 2710
Зарегистрирован: 07 ноя 2005, 09:51

Сообщение aissp »

Выскажу предположение. Существует ограничение на количество фд открытых одним процессом. Если оно превышается, то серверный процесс будет отказывать в приеме нового соединения. Такое бывает если по окончанию работу с клиентом вызывать close(sock) beside shutdown(sock, READWRITE); То есть первое чтобы я поглядел не копяться ли открытые фал дескрипторы на серверном процессе - обычно ето выглядит как куча сокетов в положении тайм-вайт принадлежаших серверному процессу. Впрочем в яве ен силет и где там ручку крутить подсказать не могу. Удачи
ir
Житель
Сообщения: 876
Зарегистрирован: 19 июл 2004, 23:36
Откуда: Ванкувер

Сообщение ir »

aissp писал(а):Выскажу предположение. ....
cool! [trn]Spasibo! Poshla smotret'. [vot chem inogda DB adminam prihoditsya zanimat'sya.... eh...][/trn]
ir
Житель
Сообщения: 876
Зарегистрирован: 19 июл 2004, 23:36
Откуда: Ванкувер

Сообщение ir »

[trn]posmotrela. deistvitel'no - kopyatsya neaktivnye. Pri etom zhaba zakryvaet vse kak polozheno. Znachit, nado v sisteme podkrutit'. Vidimo taim-aut bol'shoi. [/trn]
Аватара пользователя
aissp
Маньяк
Сообщения: 2710
Зарегистрирован: 07 ноя 2005, 09:51

Сообщение aissp »

Уменьшение тайм-аута как и его полное отключение опцией solinger не помогут - речь тут идет либо о неправильно сделанном протоколе либо об некорректности в программе. Сокеты в тайм-ауте копяться? У серверного процесса? - Попробуйте чтобы клиент закрывал соединение а не серве. То есть выдавайте сокет клиенту и закрывайте его либо по тайм-ауту (типа keep alive) либо когда клиент сигналит о закрытие. Дело в том что в тайм вайт впадает сокет выполнивший активное закрытие - то кто посылает первый fin. Точнее (я по крайне мере) сказать затрудняюсь без исследований под etherealom (самое простое мне кажется и самое правильное) попробуйте спросить тут akjm могет он скажет больше моего.

Ну и в конце статью, я так понимаю не для тебя а для кого там у вас отвечает не за базы данных:)

http://netarchlab.tsinghua.edu.cn/ftp/p ... 11B_04.PDF

ну вот чем могу
Ответить