очень много клиентов

Alexey Popov lol at chistydom.ru
Fri Feb 17 13:00:29 MSK 2006


Привет.

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 скорость может быть существенно меньше, когда
> нужно идти на диск. Если же данные находятся в памяти, то возможно,
> сопоставимо, но я не знаю, сколько обращений к памяти нужно для поиска
> имени.
Wildcards в именах хостов нет.

Если location = / придется проксировать на Апач, то в большинстве 
случаев, как мне кажется, на момент отдачи статики из-под этого 
location, нужные места NDBM-файла уже будут где-нибудь в кэшах ОС.

Дело в том, что у меня DirectoryIndex index.html index.htm index.dhtml 
index.wml .
Сайты с dhtml и wml встречаются редко, но их сможет обработать только Апач.
Если бы можно было объяснить nginx'у, чтоб index.htm, index.html и 
autoindex он показывал сам, а dhtml и wml проксировал на апач, тогда не 
придется проксировать location = / на Апач, и можно ожидать существенное 
ускорение. Реально это сделать?
>> Как оптимально настроить map_hash_*_size для моего случая (из
>> документации не понял)?
> http://sysoev.ru/nginx/docs/hash.html
> Для начала
> server_names_hash_max_size  500000;
Т.е. тупо увеличивать эти параметры, пока nginx не перестанет ругаться, 
все остальное он решит сам? ;)

С уважением,
Alexey Popov





More information about the nginx-ru mailing list