Re: Nginx и десятки тысяч виртуальных хостов

Maxim Dounin mdounin at mdounin.ru
Fri Jan 24 13:22:12 UTC 2014


Hello!

On Fri, Jan 24, 2014 at 03:30:55AM -0500, paulstrong wrote:

> Добрый день, коллеги!
> У нас возник вопрос, связанный с использованием десятков тысяч виртуальных
> хостов (мы рассматриваем это как одно из решений нашей задачи).
> Скажем, как себя теоретически может повести nginx, если у него будет,
> например, 10 конфигов, в каждом из них будет по 20к различных server_name?

server_name != вируальный хост

Если речь о идёт именно о большом количестве блоков server{}, то 
на таких количествах следует учитывать, что каждый блок server{} 
потребляет небольшое количество памяти под свои конфиги (когда я 
последний раз смотрел, получалось что-то около 20 килобайт на 
server{}, но эта цифра сильно зависит от сложности конфига сервера 
и модулей, с которыми собран nginx).  Т.е. 200 тысяч блоков 
server{} - это где-то 4 гигабайта памяти.

Если же речь именно о server_name'ах в рамках небольшого 
количества блоков server{} - то 200 тысяч это не много.

Ну в любом случае потребуется тюнинг server_names_hash_bucket_size 
и server_names_hash_max_size, документация тут:

http://nginx.org/r/server_names_hash_bucket_size/ru
http://nginx.org/r/server_names_hash_max_size/ru

-- 
Maxim Dounin
http://nginx.org/



Подробная информация о списке рассылки nginx-ru