Кеш, кеш, кеш все. Кэшируйте результаты поиска в вашей таблице IP, кэшируйте результаты для отдельных пользователей в их сеансе или файлах cookie, кэшируйте отображаемую часть информации о локализации ваших страниц (или, по крайней мере, части с интенсивным запросом).
Можно дать больше подробностей, но все зависит от ваших узких мест. (В конце концов, нет смысла реализовывать сложное кэширование на стороне маршрутизации, если узким местом является рендеринг локализованной информации, потому что вызовам вашей БД для выполнения требуется почти полсекунды). Я не могу сказать вам, где находятся / будут узкие места в вашем приложении. Сначала вам нужно будет его профилировать, а затем оптимизировать на основе того, что вам скажет профилировщик.