ПРОЕКТЫ 


  АРХИВ 


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: очень много клиен тов



On Thu, 16 Feb 2006, Alexey Popov wrote:

Igor Sysoev пишет:
    map  ... {
        include  /var/www/block.domain.ru;
    }
У меня в подобном мапе получается 500000 строк, размер файла 30Мб.
Каждый процесс nginx'а кушает после загрузки ~80M.
В Апаче mod_vhost_alias использует этот мап в виде внешнего NDBM-файла.

Можно ли оценить эффективность nginx'a в такой позе по сравнению с Апачем? Контент не полностью статика, часть придется проксировать на Апач.

Эти 80М полностью разделяется между процессами.

Если рабочие процессы не свопятся и в map описаны имена без wildcards,
то для поиска соответсвия требуется всего несколько обращений к памяти.
Если используется wildcards, то число обращений к памяти будет кратно
число частей, например, в *.example.com - две части.

При использовании NDBM скорость может быть существенно меньше, когда
нужно идти на диск. Если же данные находятся в памяти, то возможно,
сопоставимо, но я не знаю, сколько обращений к памяти нужно для поиска
имени.

Оценить можно так - запросить скриптом мелкий статический файл на
все хостах по разу и по нескольку раз.

Как оптимально настроить map_hash_*_size для моего случая (из
документации не понял)?

http://sysoev.ru/nginx/docs/hash.html

Для начала
server_names_hash_max_size  500000;


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



 




Copyright © Lexa Software, 1996-2009.