|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Igor Sysoev 2:5020/400 20 Oct 2005 22:24:42 To : Vadim Goncharov Subject : Re: discard server -------------------------------------------------------------------------------- Vadim Goncharov <vadimnuclight@tpu.ru> wrote: > On Wed, 19 Oct 2005 18:16:57 +0000 (UTC); Anton Yuzhaninov wrote about 'Re: > discard server': Прикольная штучка. Только она, того, не совсем работает. > Открыла тысячу сокетов и давай жрать 100% процессора. Хм, интересно. Hачала > жрать при неактивных соединениях, без данных? Hадо опытных программистов > спросить. Вообще-то select() так себя вести не должен, > afaik. http://www.opennet.ru/base/dev/server_way.txt.html Минусы select(): - > При большом количестве неактивных клиентов передача в ядро и назад пустого > состояния сокета представляет собой сплошные накладные расходы. (читать > надо оригинал, faq ru.unix.prog, а не opennet) 1) poll еще хуже (в данном > случае в 64 раза) 2) все остальное не кроссплатформенно Hасколько я знаю, > народ гонял и по 5000 дескрипторов в select(), хотя это уже изврат. А > "накладные расходы" != "100% загрузка процессора". Впрочем, все равно нужно у > знающих людей спрашивать... В данном контексте "накладными расходами" как раз и является "100% загрузка процессора". Единственный способ использовать select() и poll() более или менее масштабируемо - это несколько процессов, каждый из которых работает с парой сотен сокетов, используя select()/poll(). -- Игорь Сысоев http://sysoev.ru --- ifmail v.2.15dev5.3 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/6577a45d23e6.html, оценка из 5, голосов 10
|