Welcome! Log In Create A New Profile

Advanced

Re: Ограничение на число одновременных соединений, но с постановкой лишних в очередь

Dmitry Koterov
November 29, 2009 07:40PM
Кстати, если тема представляет еще для кого-то практический интерес,
подключайтесь! (Сорри, что это оффтопик в рассылке nginx.) Я пока нарыл вот
что. В server\mpm\prefork\prefork.c есть кусочек:

/* Set up the pollfd array */
/* ### check the status */
(void) apr_pollset_create(&pollset, num_listensocks, pchild, 0);

for (lr = ap_listeners, i = num_listensocks; i--; lr = lr->next) {
apr_pollfd_t pfd = { 0 };

pfd.desc_type = APR_POLL_SOCKET;
pfd.desc.s = lr->sd;
pfd.reqevents = APR_POLLIN;
pfd.client_data = lr;

/* ### check the status */
(void) apr_pollset_add(pollset, &pfd);
}

Эта штука создает список сокетов, на которых ниже происходит цикл ожидания
активности (причем в этот цикл попадает только один процесс апача, остальные
ждут на мьютексе):

/* timeout == -1 == wait forever */
status = apr_pollset_poll(pollset, -1, &numdesc, &pdesc);

Первый активный сокет будет подхвачен процессом. Так вот, мысль первая: если
в кусочке выше добавлять в список не все сокеты, а только те, лимит
коннектов на которые не превышен, то, теоретически, можно добиться
принудительного ограничения на число коннектов.

Правда, непонятно, что делать, когда число соединений на каком-то сокете
обратно стало меньше порогового. Освободившийся сокет в очередь легко не
пропихнуть... Вернее, можно, конечно, выше в apr_pollset_poll() поставить не
"вечный" тайм-аут, а 1 секунду (плюс новый apr_pollset_create() при
наступлении тайм-аута), тогда он будет заново строить pollset, и вроде как
проблема решается (ценой передергивания очереди раз в секунду).




2009/11/30 Dmitry Koterov <dmitry@koterov.ru>

>
> теоретически - наверное возможно обучить апач параметру SocketMaxConn,
>> но большое количество listening сокетов - это неустранимый недостаток,
>> что может отрицательно сказаться потом на производительности сервера.
>>
>> А что это за параметр, где он устанавливается? Мне сходу не удалось найти
> ничего похожего в системных вызовах...
>
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Ограничение на число одновременных соединений, но с постановкой лишних в очередь

Dmitry Koterov November 16, 2009 03:04PM

Re: Ограничение на число одновременных соединений, но с постановкой лишних в очередь

Dmitry Koterov November 16, 2009 04:46PM

Re: Ограничение на число одновременных соединений, но с постановкой лишних в очередь

Alexander Kochetov November 17, 2009 01:14AM

Re: Ограничение на число одновременных соединений, но с постановкой лишних в очередь

Denis F. Latypoff November 17, 2009 02:20AM

Re: Ограничение на число одновременных соединений, но с постановкой лишних в очередь

Andrew Kopeyko November 17, 2009 03:24AM

Re: Ограничение на число одновременных соединений, но с постановкой лишних в очередь

Gena Makhomed November 17, 2009 03:30AM

Re: Ограничение на число одновременных соединений, но с постановкой лишних в очередь

Dmitry Koterov November 20, 2009 08:56PM

Re: Ограничение на число одновременных соединений, но с постановкой лишних в очередь

Gena Makhomed November 21, 2009 08:18AM

Re: Ограничение на число одновременных соединений, но с постановкой лишних в очередь

Dmitry Koterov November 21, 2009 07:44PM

Re: Ограничение на число одновременных соединений, но с постановкой лишних в очередь

Gena Makhomed November 22, 2009 06:38AM

Re: Ограничение на число одновременных соединений, но с постановкой лишних в очередь

Dmitry Koterov November 23, 2009 06:16AM

Re: Ограничение на число одновременных соединений, но с постановкой лишних в очередь

Gerasimenko Konstantin November 23, 2009 06:36AM

Re: Ограничение на число одновременных соединений, но с постановкой лишних в очередь

Gena Makhomed November 23, 2009 09:12AM

Re: Ограничение на число одновременных соединений, но с постановкой лишних в очередь

Dmitry Koterov November 28, 2009 08:08PM

Re: Ограничение на число одновременных соединений, но с постановкой лишних в очередь

Олег Петрачёв November 28, 2009 10:40PM

Re: Ограничение на число одновременных соединений, но с постановкой лишних в очередь

Phil Kulin November 29, 2009 12:00AM

Re: Ограничение на число одновременных соединений, но с постановкой лишних в очередь

Олег Петрачёв November 29, 2009 09:40AM

Re: Ограничение на число одновременных соединений, но с постановкой лишних в очередь

Alex Vorona November 29, 2009 07:02AM

Re: Ограничение на число одновременных соединений, но с постановкой лишних в очередь

Олег Петрачёв November 29, 2009 09:42AM

Re: Ограничение на число одновременных соединений, но с постановкой лишних в очередь

Alex Vorona November 29, 2009 09:48AM

Re: Ограничение на число одновременных соединений, но с постановкой лишних в очередь

Олег Петрачёв November 29, 2009 10:12AM

Re: Ограничение на число одновременных соединений, но с постановкой лишних в очередь

Gena Makhomed November 29, 2009 12:28PM

Re: Ограничение на число одновременных соединений, но с постановкой лишних в очередь

Alex Vorona November 29, 2009 12:42PM

Re: Ограничение на число одновременных соединений, но с постановкой лишних в очередь

Олег Петрачёв November 29, 2009 01:52PM

Re: Ограничение на число одновременных соединений, но с постановкой лишних в очередь

Gena Makhomed November 29, 2009 02:40PM

Re: Ограничение на число одновременных соединений, но с постановкой лишних в очередь

Executier Godlike December 11, 2009 04:02PM

Re: Ограничение на число одновременных соединений, но с постановкой лишних в очередь

Gena Makhomed November 29, 2009 12:04PM

Re: Ограничение на число одновременных соединений, но с постановкой лишних в очередь

Dmitry Koterov November 29, 2009 07:14PM

Re: Ограничение на число одновременных соединений, но с постановкой лишних в очередь

Gena Makhomed November 30, 2009 03:58AM

Re: Ограничение на число одновременных соединений, но с постановкой лишних в очередь

Dmitry Koterov November 29, 2009 07:22PM

Re: Ограничение на число одновременных соединений, но с постановкой лишних в очередь

Dmitry Koterov November 29, 2009 07:40PM

Re: Ограничение на число одновременных соединений, но с постановкой лишних в очередь

Gena Makhomed November 30, 2009 06:14AM

Re: Ограничение на число одновременных соединений, но с постановкой лишних в очередь

Gena Makhomed November 30, 2009 06:04AM

Re: Ограничение на число одновременных соединений, но с постановкой лишних в очередь

Anton Yuzhaninov November 17, 2009 04:26AM

Re: Ограничение на число одновременных соединений, но с постановкой лишних в очередь

Phil Kulin November 17, 2009 08:12AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 147
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready