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

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

$_SERVER['GEOIP_COUNTRY_CODE']

С PHP модуль / библиотека, ты используешь :

geoip_country_code_by_name($_SERVER['REMOTE_ADDR'])

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

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

2

Решение

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

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

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

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]