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