|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Valentin Nechayev 2:5020/400 16 Nov 2005 23:35:08 To : Igor Sysoev Subject : Re: httpd в ядре -------------------------------------------------------------------------------- >>> Igor Sysoev wrote: >>>> (То есть я не то чтобы возражаю против него, но интересно насколько >>>> можно добиться аналогичного результата более простыми средствами;)) > IS>> А сколько из этой тысячи потоков было idle ? >> Грузили эмуляцией RTP, по каждому потоку пакет летел раз в 30 мс. IS> Hу тогда каждый poll() выстаскивал практически полную тысячу. В том и дело, что нет. Если poll() после usleep(1) или чего-то подобного по тику таймера, то у него была готова 1/3 дескрипторов. Если же как только выходили из предыдущей обработки в следующий poll() - то по его выходу могло быть несколько десятков, а мог быть и один. Поэтому получалось, что время тратилось на расстановку poll'овых контролек на дескрипторы и их снятие. Когда же сделали задержку - именно эта расстановка/снятие за счёт того что она реже - перестала выжирать весь процессор :) IS> sleep на пару миллисекунд легко выливается в 30ms. Hе думаю. Скорее всего из него выходили просто по следующему тику. IS> Какая версия фри ? Опыты делались на 6.0 и 5.4. Hо sleep делался, кажется, на 9 мс. Или 10? -netch- --- ifmail v.2.15dev5.3 * Origin: Dark side of coredump (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/22383b7b8714e.html, оценка из 5, голосов 10
|