- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

VK приобрела 70% в структуре компании-разработчика red_mad_robot
Которая участвовала в создании RuStore
Оксана Мамчуева

Как снизить ДРР до 4,38% и повысить продажи с помощью VK Рекламы
Для интернет-магазина инженерных систем
Мария Лосева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Есть большой многоязычный проект, который ежечасно пишет логи в виде:
язык;урл;кол-во посещений
это дано и изменению не подлежит.
"хочется" сделать из этого "красиво", с графиками по дням, урлам, языкам.
всего страниц около 1кк, языков 8, распределение неравномерное.
1 импорт - это примерно 200к страниц
моё решение сейчас: 1 импорт дня - 7 минут, дальше - 5. это на ноуте(какой-то i5, 8 ГБ оперативы) проц. при импорте занят на 4-5%, зато диски(7.200 rpm) работают на всю. сервак, на котором это будет крутиться, гораздо слабее. поэтому надо оптимизировать.
Как бы сделали вы? Своё решение специльно не пишу, чтобы у вас был не замыленный взгляд
Какая структура? какие данные вытягиваются? По какому принципу строится график
Varenik, mmm...
Какая структура?
язык;урл;кол-во посещений
какие данные вытягиваются? По какому принципу строится график
с графиками по дням, урлам, языкам.
язык;урл;кол-во посещений
с графиками по дням, урлам, языкам.
Соотношение понятно. по дням - не вижу этих данных для выборки
Varenik, да, неувязочка вышла:)
название файла содержит дату и время
Это обычная задача по написанию статистики ну или даже биллинга если хотите.
1. Ежечасно пишет логи... Почему ежечасно? Для чего нужен лишний агрегатор-посредник? Почему не собирать сразу из логов апача или энджинэкса? И к-во сообщений не нужно! нужно поле датавремя, а к-во сообщений сами будите обсчитывать.
2. Далее MySQL, с помощью LOAD INFILE загоняете новые данные с определенным интервалом. Работает очень быстро и оптимально.
3. Далее правильно проектируете БД, в Вашем случае оптимально нормализация по 2НФ. То есть основная таблица из трех столбцов, id,urlid.data
Вторая таблица соответственно id,url
4. Далее через определенный промежуток времени строите вспомогательные таблицы, с подсчетом посещений по каждой из ссылок за определенное время. Обычно оптимально таблицы, час, день, месяц. Они на порядок сэкономят Вам время выборки, которое при любом, даже самом изощренном запросе будет составлять в этом случае копейки.
5. Данный способ позволит реализовать Вам в дальнейшем кучу дополнительных появившихся хотелок, в виде добавления IP username и т.д. и т.п. Если нужно будет подробнее, то плс. в личку. В последнее время увы мало времени потому тут бываю не часто.
Mutabors, 1. как я уже сказал: изменить это невозможно
3. так и сделал
2. никогда не работал с LOAD INFILE. что в файле? INSERTs,UPDATEs?
пример: в 0:0 для visits/url надо делать INSERT, потом только UPDATE. как это делается с файлом?
У Вас реально нет доступа к логам сервера? Или это просто предположение, что то, что у Вас уже есть сделает Вашу жизнь и систему в частности проще?
По LOAD INFILE, это способ самого простого, быстрого и экономного способа загонять большие объемы данных из файла в базу данных, читаем например тут.
А вот простой пример парсинга стандартных логов апача (первое, что на глаза попалось из собственного, рабочего):
LOAD DATA
INFILE '/1.log'
IGNORE
INTO TABLE 1weblog.tmplog
FIELDS TERMINATED BY ' '
LINES TERMINATED BY '\n'
(ip,@tmp,@tmp,@dt,@tz,@zapros,url,@prot,cod,byts)
SET dt = STR_TO_DATE(@dt,'[%d/%b/%Y:%H:%i:%S'), tz=LEFT(@tz,LENGTH(@tz)-1),
zapros=RIGHT(@zapros,LENGTH(@zapros)-1),
prot=LEFT(@prot,LENGTH(@prot)-1);
Подумайте об использовании RRDtool.