ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re[2]: new nginx resolver



On Mon, 7 Feb 2005, Alexander Popkov wrote:

IS> Отчего же, Андрей Анатольевич, не огласить весь road, так сказать, map.
IS> Оглашу:

IS> 1) ssi-фильтр, кэширование в proxy и fastcgi, кэш открытых файлов;
А как будет устроен кеш открытых файлов учитывая процессную а не
потоковую реализацию воркеров? У каждого воркера свой кеш отдельный?

спрашиваю собственно потому что читал у Вас на сайте заметку:
---------------------цитата----------------------
В дальнейшем возможна поддержка потоков, во-первых,
для уменьшения задержек в обслуживании клиентов при
блокировании на дисковых операциях, и, во-вторых,
для использования нескольких процессоров.
Число потоков при этом предполагается небольшим
немногим больше числа процессоров. Вариант с
несколькими рабочими процессами тоже возможен,
однако в этом случае нельзя использовать общий
кэш открытых файлов.
---------------------конец цитаты----------------

Да, у каждого воркера кэш открытых файлов будет отдельный, поскольку эти
дескрипторы невозможно разделять между процессами.

IS> 2) busy lock'и, throttling и server-status;
опять вырезка (теперь из мейл-листа)
---------------------цитата----------------------
В планах есть busy lock'и, которые позволят ограничить число одновременных
запросов к апстриму (proxy/fastcgi). Остальные запросы будут ждать в busy
lock'е. В первой реализации busy lock'и будут работать только на уровне
одного процесса, то есть, если у нас 5 рабочих процесса nginx и поставить
ограничение 100, то число будет делаить на число процессов и каждый процесс
может делать не более 100/5=20 одновременных запросов. В последущей
реализации busy lock'и будут разделаться между процессами.
---------------------конец цитаты----------------
Опять же Вы говорите что в первой реализации будет так то и так то
(как в реализации с процессной структурой) а в последующей будет
разделение busy lock между процессами (потоки?).

Да, скорее всего, первый вариант будет ограничен рамками процесса.
И, возможно, в первом варианте не будет поддержки потоков, если
nginx будет собран с кэшем, busy lock'ами и throttling.

IS> 3) отладка трэдов.
Вобщем у меня сложилось впечатление что воркеры будут переделаны в потоковую
реализацию. Верно? Или будет и потоковая и процессная, и переключение на
стадии сборки или в конфиге например?

Нет, воркеры смогут работать как сейчас (один поток в нескольких процессах),
так и несколько потоков в нескольких процессах. Причём, даже если собрать
nginx с поддержкой потоков, то можно всё равно оставить его в режиме
одного потока с минимальным overhead'ом (для этого нужно не указывать
директиву worker_threads в конфигурации).

В принципе, потоки работают и сейчас, но я бы не стал ставить их в продакшн.


Игорь Сысоев
http://sysoev.ru




 




Copyright © Lexa Software, 1996-2009.