Я пытался найти подходящую базу данных GeoIP для нашего приложения, и, насколько я могу судить, MaxMind City, вероятно, лучший (хотя, если я ошибаюсь, пожалуйста, дайте мне знать!).
В настоящее время я пробую бесплатную версию, которая не очень точна в Великобритании, но она подойдет для тестирования.
Итак, возвращаясь к теме:
Наше приложение написано на PHP, и в итоге у нас будет много входящего трафика. Причина, по которой мы будем использовать базу данных GeoIP, заключается в том, что нам нужно отображать город, регион, страну при каждой загрузке страницы, а также сохранять данные для конкретного посетителя в базе данных mysql. Поэтому я начал думать, что загрузка двоичных данных при каждом запросе страницы приводит к тому, что сервер потребляет много оперативной памяти и увеличивает скорость обработки. Вот почему Мне интересно, возможно ли кешировать его в оперативной памяти и связать его с PHP , потому что это 26 МБ (я знаю, что это может показаться не слишком много), но все же, когда мы начинаем получать тысячи запросов страниц в секунду, это приведет к снижению производительности, чего мы явно хотим избежать.
Сервер:
Процессор: 16 ГГц (8 x 2 ГГц)
Оперативная память: 16384 МБ
HDD: 400 ГБ
Apache + Nginx + Varnish, PHP5.3, MySQL5.1
Мы довольно плохо знакомы с разработкой крупномасштабных приложений, поэтому, если у вас есть какие-либо предложения по повышению производительности в целом или у вас есть какие-либо советы, касающиеся повышения производительности в нашем случае, сообщите мне.
Спасибо!