Разница между установкой geoip в качестве модуля PHP и в качестве модуля apache2

Если установлен модуль Apache, вы получите код страны с:

$_SERVER['GEOIP_COUNTRY_CODE']

С модулем/библиотекой PHP вы используете:

geoip_country_code_by_name($_SERVER['REMOTE_ADDR'])

В чем разница (производительность и т. д.) между этими двумя решениями? Какой из них лучше ? Для какой нужды?

Я думаю, что модуль apache загружал расширение в память для каждого запроса, что может плохо сказаться на производительности. (Или вам нужно установить правила с помощью GeoIPEnable Off/On, но это не всегда просто...) Итак, если вам нужен геоip только на некоторых страницах, лучше ли для производительности использовать модуль PHP?


person fred727    schedule 20.07.2016    source источник


Ответы (1)


По производительности они примерно равны. Нам также было любопытно, поэтому мы провели некоторое тестирование как на виртуальных машинах Digital Ocean, так и локально с помощью vagrant. Результаты были одинаковыми: использование расширения Apache, расширения PHP или библиотеки PHP дало фантастические результаты. Нет реального успеха по сравнению с тем, чтобы вообще не использовать GeoIP.

Вы можете отключить GeoIP в Apache для каталога или файла, используя .htaccess, поэтому если вы хотите отключить его для некоторых областей, вы также можете сделать это там.

Мы написали в блоге о наших тестах с подробностями о том, как воспроизвести: Проверена производительность GeoIP

person preinheimer    schedule 09.11.2016