на главнуюВсе эхи RU.UNIX.BSD
войти ?

Re: pthread: freebsd & linux

От Valentin Nechayev (2:5020/400) к Andrey Ostanovsky

В ответ на Заголовок предыдущего сообщения в треде (Имя Автора)


From: Valentin Nechayev <netch@segfault.kiev.ua>


>>> Andrey Ostanovsky wrote:

AY>> Это ты лучше приведи пример приложения, где апачу, стоящему за nginx
AY>> нужно процессов больше чем 50 - 100
AO> Форум, или иное поделие, вынимающее каждый раз картинки и текст из базы данных.

Мнэээ... а с чего сразу предположение, что это надо делать тредом,
причём тредом в понимании как минимум pthreads? Или даже процессом?

Hе спорю, это удобно. Hо возьмём, например, такое популярное нынче
явление, как Erlang. Для обработки одного клиентского запроса будет,
скорее всего, порождён один "процесс" (в его внутреннем понимании), у
которого тем не менее будет (опять же скорее всего, ибо при правильном
проектировании) некоторая FSM на запросах. К системным тредам,
о которых говорилось тут, это отношения не имеет - их будет в типичном
случае столько же, сколько ядер (процессоров) в системе.

А если не подыматься до него и остаться при линейном исполнении - то
всё равно соответствие между тредами среды исполнения и тредами
системы может быть сильно неоднозначным.

(Я тут подразумеваю, что реальное исполнение будет идти совсем не в
апаче - то, что в апаче, будет в лучшем случае реформаттером ответа от
целевого приложения. Это как-то более соответствует задаче построения
высоконагруженного приложения. Апач он всё-таки не для таких целей
строился.)

AO> В этом случае, при возрастании нагрузки, надо либо делать ревизию кода, либо
AO> покупать более мощное железо, и еще неизвестно - что будет дешевле.

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


--netch--
--- ifmail v.2.15dev5.4
* Origin: Dark side of coredump (2:5020/400)

Ответы на это письмо:

From: Username
Заголовок следующего сообщения в треде может быть длинным и его придется перенести на новую строку

From: Username
Или коротким

FGHI-url этого письма: area://RU.UNIX.BSD?msgid=<1187326474@segfault.kiev.ua>+f6b2e52d