NginX GeoIP вызывает дополнительную нагрузку?
Поскольку Nginx требует, чтобы директивы geoip_ входили в основной блок http{ } файла nginx.conf, означает ли это, что данные geoip извлекаются для каждого отдельного запроса?
Другими словами, NginX просматривает данные геоипа для ВСЕХ входящих запросов, даже для тех, которые не нуждаются в данных?
2 ответа
Nginx анализирует и загружает данные геоипа в память, как только файл конфигурации только при (пере) запуске или SIGHUP.
Как насчет расширения переменных $geoip_* - я не уверен, но надеюсь, что они вычисляются только тогда, когда это необходимо (в "if", "log", "map" или в любой другой конструкции). В любом случае, он не перечитывает и не перезагружает весь файл каждый запрос.
Поиск GeoIP происходит из распределенной базы данных, а не с динамического сервера, поэтому, в отличие от DNS, наихудший удар по производительности минимален.