У меня в подобном мапе получается 500000 строк, размер файла 30Мб.
Каждый процесс nginx'а кушает после загрузки ~80M.
В Апаче mod_vhost_alias использует этот мап в виде внешнего NDBM-файла.
Можно ли оценить эффективность nginx'a в такой позе по сравнению с Апачем?
Контент не полностью статика, часть придется проксировать на Апач.
Эти 80М полностью разделяется между процессами.
Если рабочие процессы не свопятся и в map описаны имена без wildcards,
то для поиска соответсвия требуется всего несколько обращений к памяти.
Если используется wildcards, то число обращений к памяти будет кратно
число частей, например, в *.example.com - две части.
При использовании NDBM скорость может быть существенно меньше, когда
нужно идти на диск. Если же данные находятся в памяти, то возможно,
сопоставимо, но я не знаю, сколько обращений к памяти нужно для поиска
имени.
Оценить можно так - запросить скриптом мелкий статический файл на
все хостах по разу и по нескольку раз.
Как оптимально настроить map_hash_*_size для моего случая (из
документации не понял)?