Региональная Баннерка..

Morbid

Новичок
Региональная Баннерка..

Мне нужно налабать баннерку каторая будет работать с ip адресами такая база существует весит она 28 мб
каким лучше всего методом перебирать значения?
Я хочу добится имено скорости перебора
а смысл такой Человек заходит из москвы и видит имено баннеры московские питерец питерские.
Может ктото уже делал подобные системы поделитесь опытом...
 

HEm

Сетевой бобер
сопоставляешь адреса определенным регионам и делаешь селект региона по указанному адресу
 

Morbid

Новичок
мне вот сказали делать Хранимой процедурой потомушто это быстро
Я с этим не знаком.. Как думаете
 

HEm

Сетевой бобер
Morbid
какова предполагаемая нагрузка? на сайт и на баннерку
 

Morbid

Новичок
500 уникалов в сутки примерно.
дальше больше

-~{}~ 11.05.06 16:54:

какой синтаксис у этих процедур? штобы найти в мануале о нихю
 

HEm

Сетевой бобер
Morbid
500 уникалов в сутки не требуют серьезных мыслей о таких оптимизациях

хранимые процедуры = stored procedures
 

HEm

Сетевой бобер
сильно ковырял както по заказу phpAds, только не помню, была ли там такая возможность, если и была, то мы ее не использовали, в свежих версиях есть наверняка
 

Alexandre

PHPПенсионер
500 уникалов в сутки примерно
это не нагрузка 15 000 - это уже ощутимо

-~{}~ 11.05.06 17:16:

каторая будет работать с ip адресами такая база существует весит она 28 мб
каким лучше всего методом перебирать значения?
Я хочу добится имено скорости перебора
используй индексы, и перебора не нужно делать
делай select * from table where ip='xxx.xxx.xxx.xxx'
или используй маскe where ip LIKE 'xxx.xxx.xxx.%'
 

magic

lancer
Re: Региональная Баннерка..

Автор оригинала: Morbid
Мне нужно налабать баннерку каторая будет работать с ip адресами такая база существует весит она 28 мб
Уважаемый, где вы такие базы берете? :) БД с айпшниками от maxmind весит чуть менее 1 МБ, а у вас 28МБ на Москву и Питер?
каким лучше всего методом перебирать значения?
Методом SELECT, на таблицу с IP поставить индексы.
 

magic

lancer
PHP:
$sql_query = "SELECT ci FROM geo_ip WHERE INET_ATON('$addr') BETWEEN start AND end";
Где ci - геокод посетителя, start - начальный IP, end - конечный IP. IP адреса представлены в виде 4-х байтного unsigned integer.
 

Morbid

Новичок
Re: Re: Региональная Баннерка..

Автор оригинала: magic
Уважаемый, где вы такие базы берете? :) БД с айпшниками от maxmind весит чуть менее 1 МБ, а у вас 28МБ на Москву и Питер?

Методом SELECT, на таблицу с IP поставить индексы.
Это база всех IP адресов Мира зарегестрированых

-~{}~ 12.05.06 10:02:

Пасип Всем счас буду пробывать...
 

alekseymarkov

Новичок
Мне кажеться удобнее предоставлять информацию не по городам, а по регионам, т.е. Центр, Северо-Запад и т.д.

К сведению, я проживаю в небольшом городке Архангельске, население около 400 тыс. человек.

У нас не так уж много провайдеров, около 40% Архангельских пользователей используют Архангельскую Телевизионную компанию... Я уж не знаю как у них там устроенно на сервере, но мне постоянно не нравиться что меня принимают за Ярославского пользователя.

Т.е. по таким вот базам, ай-пи моей сети попадает в Ярославль.
Даже при посещении Яндекса, меня принимают за Ярославского пользователя.

Похожие ситуации могут быть и в других города.
 

alekseymarkov

Новичок
Morbid - еденица?!?!?
Давайте возьмём калькулятор и высчитаем 40 процентов из 400 тысяч(население Архангельска).


400 / 100 * 40 = 160 тысяч.

-~{}~ 13.05.06 15:13:

Хотя при расчётах я не учёл, что 400 тысяч - это всё население Архангельска, т.е. и бабушки и дети, т.е. даже те у кого и вовсе нет компьютера, не говоря уж о интернете.
 

FaRaOn

Новичок
даже если интернет будет у 60 тысяч Архангельцев,то 60/100*40=24 тыс. чел. будут определены неправильно. Представьте сколько таких людей по России... А в мире?
Лучше уж использовать по регионам, ИМХО.
 
Сверху