Главная страница


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : Igor Sysoev                          2:5020/400     17 Nov 2005  20:24:51
 To : Vadim Goncharov
 Subject : Re: httpd в ядре
 -------------------------------------------------------------------------------- 
 
 Vadim Goncharov <vadimnuclight@tpu.ru> wrote:
 
 > On Wed, 16 Nov 2005 13:16:03 +0000 (UTC); Igor Sysoev wrote about 'Re: httpd в
 > ядре': В ядре есть одна полезная вещь - kqueue(2). Всё остальное меркнет перед
 > ней. Есть цифры, насколько оно лучше? Цифры можно посмотреть
 > здесь: http://people.freebsd.org/~jlemon/papers/kqueue.pdf а что касается
 > практики, то select() и poll() съедают весь процессор на паре тысяч
 > одновременных соединений, а kqueue спокойно работает на тридцати
 > тысячах. Съедают в одном процессе или суммарно на всем сервере? Если один
 > процесс работает с парой тысяч одновременных соединений в одном процессе, но
 > на всём сервере кончается процессор. А если это будут скажем 4 процесса по 500
 > соединений? Если будет 10 процессов по 200 соединений, то будет легче. Есть у 
 > меня одна машина 3.4 с nginx'ом, использует select, 20 рабочих процессов, по
 > 100-300 соедиений на процесс. Хм. Интересно, сколько можно выжать из select() 
 > (пределы poll() тоже интересны) соедиений всего, если использовать небольшое
 > число соединений на процесс, скажем по сотне?.. Hу вот переключил я сейчас на 
 > одной машине nginx на select и 100 рабочих процессов. Машина на данный момент 
 > держит 10,000 keep-alive соединений и обрабатывает 500 запросов в секунду. И
 > что же ? 30-40% user time, 60-70% system time, idle - 0%. Переключил обратно
 > на kqueue и один рабочий процесс - 15-20% user time, 15% system time. Понятно.
 > Остались только 2 вопроса: насколько select() эффективнее poll() и сравнение
 > kqueue() с epoll()
 
 Hасколько select() эффективнее poll() - не знаю. Они одинаковы неэффективны.
 А в Солярисе select(3) - это обвязка вокруг poll(2).
 
 Что касается kqueue vs epoll, то kqueue, во-первых, расширяема,
 а во-вторых, позволяет делать меньше сисколлов за счёт:
 1) EV_EOF, EV_ERROR, NOTE_LOWAT;
 2) совмещения добавления нескольких фильтров и получения событий,
    epoll_ctl() же позволяет добавить только один фильтр;
 3) при использовании epoll приходится читать в общем случае до EAGAIN,
    потому что EOF может не прийти в виде отдельного события.
 -- 
 Игорь Сысоев
 http://sysoev.ru
 --- ifmail v.2.15dev5.3
  * Origin: Demos online service (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 httpd в ядре   Vadim Goncharov   14 Nov 2005 15:59:35 
 Re: httpd в ядре   Anton Yuzhaninov   14 Nov 2005 17:50:16 
 Re: httpd в ядре   Valentin Davydov   14 Nov 2005 21:49:07 
 Re: httpd в ядре   Anton Yuzhaninov   14 Nov 2005 22:11:28 
 Re: httpd в ядре   Igor Sysoev   15 Nov 2005 00:18:35 
 Re: httpd в ядре   Vadim Goncharov   15 Nov 2005 12:43:42 
 Re: httpd в ядре   Igor Sysoev   15 Nov 2005 16:02:05 
 Re: httpd в ядре   Vadim Goncharov   15 Nov 2005 16:25:26 
 Re: httpd в ядре   Igor Sysoev   15 Nov 2005 17:13:21 
 Re: httpd в ядре   Vadim Goncharov   15 Nov 2005 17:59:13 
 Re: httpd в ядре   Igor Sysoev   15 Nov 2005 18:45:20 
 Re: httpd в ядре   Maxim Konovalov   15 Nov 2005 19:11:51 
 Re: httpd в ядре   Igor Sysoev   15 Nov 2005 19:31:43 
 Re: httpd в ядре   Gleb Smirnoff   16 Nov 2005 00:40:27 
 Re: httpd в ядре   Vadim Goncharov   16 Nov 2005 01:58:23 
 Re: httpd в ядре   Igor Sysoev   16 Nov 2005 17:16:03 
 Re: httpd в ядре   Vadim Goncharov   16 Nov 2005 21:23:37 
 Re: httpd в ядре   Valentin Nechayev   16 Nov 2005 23:38:09 
 Re: httpd в ядре   Vadim Goncharov   17 Nov 2005 15:58:49 
 Re: httpd в ядре   Igor Sysoev   17 Nov 2005 20:27:52 
 Re: httpd в ядре   Valentin Nechayev   17 Nov 2005 23:16:45 
 Re: httpd в ядре   Vadim Goncharov   17 Nov 2005 23:38:36 
 Re: httpd в ядре   Igor Sysoev   17 Nov 2005 23:57:20 
 Re: httpd в ядре   Valentin Nechayev   18 Nov 2005 01:49:47 
 Re: httpd в ядре   Vadim Goncharov   18 Nov 2005 02:43:52 
 Re: httpd в ядре   Valentin Nechayev   18 Nov 2005 18:29:17 
 httpd в ядре   Artem S. Ignatiev   18 Nov 2005 00:47:56 
 Re: httpd в ядре   Valentin Nechayev   18 Nov 2005 01:49:17 
 Re: httpd в ядре   Igor Sysoev   17 Nov 2005 20:24:51 
 Re: httpd в ядре   Sergey Skvortsov   17 Nov 2005 13:01:01 
 Re: httpd в ядре   Igor Sysoev   17 Nov 2005 13:31:33 
 Re: httpd в ядре   Sergey Skvortsov   17 Nov 2005 17:58:42 
 httpd в ядре   Slawa Olhovchenkov   17 Nov 2005 18:15:56 
 Re: httpd в ядре   Sergey Skvortsov   17 Nov 2005 18:31:18 
 Re: httpd в ядре   Igor Sysoev   17 Nov 2005 18:57:58 
 Re: httpd в ядре   Igor Sysoev   17 Nov 2005 18:56:57 
 Re: httpd в ядре   Valentin Nechayev   16 Nov 2005 13:18:02 
 Re: httpd в ядре   Igor Sysoev   16 Nov 2005 13:55:49 
 Re: httpd в ядре   Valentin Nechayev   16 Nov 2005 15:36:52 
 Re: httpd в ядре   Igor Sysoev   16 Nov 2005 16:37:34 
 Re: httpd в ядре   Valentin Nechayev   16 Nov 2005 23:35:08 
 Re: httpd в ядре   Igor Sysoev   14 Nov 2005 18:04:00 
Архивное /ru.unix.bsd/6577f69a2007.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional