Счетчик посещений: какие оптимизации?
а скопировать базу и смотреть с другого серва/компа низя?
ну скажите же кто-нибудь ему !
а то он так и помрёт, не увидев СУБД
а то он так и помрёт, не увидев СУБД
А нафиг тут база с инсертами? Сервер пишет логи, это дешево и вообще не нагружает. Логи потом собираешь и анализируешь отдельно - или специальным софтом, или путем разовой загрузки в отдельную базу для анализа. Есть и промежуточные решения типа вебалайзера, когда он раз в сутки берет очередную порцию логов и добавляет в накапливаемую статистику.
в логах реферер пишется?
Вообще вопрос в том, как работают сторонние счетчики: хочется написать свое подобие их, чтоб работало так же быстро
Вообще вопрос в том, как работают сторонние счетчики: хочется написать свое подобие их, чтоб работало так же быстро
Если тебе вот прям так сильно нужна статистика про каждого клиента и прям в реалтайме на нагруженном сервере, то тебе спасет только установка какого-то F5 Big-IP перед твоим сервером, который будет вести тебе статистику в реальном времени, а ты будешь с некоторой периодичностью забирать ее в базу.
Но когда обыкновенным людям надо получать статистику, обычно отказываются от идеи realtime-а, и первичные данные собирают чем-то несложным и одновременно быстрым (это может быть даже самописная программа, а может просто какой-то разборщик логов а потом уже полученные и агрегированные данные сохраняют в базе данных для анализа и репортинга.
Но когда обыкновенным людям надо получать статистику, обычно отказываются от идеи realtime-а, и первичные данные собирают чем-то несложным и одновременно быстрым (это может быть даже самописная программа, а может просто какой-то разборщик логов а потом уже полученные и агрегированные данные сохраняют в базе данных для анализа и репортинга.
реалтайм для обработки не нужен, ага, но вот сбор первичных данных грузит базу оч сильно.
А, да, еще забыл добавить: доступ к серваку у меня ограничен
З.Ы. статистика про каждого клиента нужна, чтоб знать, откуда он на какую страницу сайта пришел
А, да, еще забыл добавить: доступ к серваку у меня ограничен
З.Ы. статистика про каждого клиента нужна, чтоб знать, откуда он на какую страницу сайта пришел
Да, реферер пишется обычно.
Вот пример того, что можно делать с логами:
http://thedeemon.livejournal.com/4213.html
Вот пример того, что можно делать с логами:
http://thedeemon.livejournal.com/4213.html
>в логах реферер пишется?
бля, ты логов никогда не видел в своей жизни что-ли?
бля, ты логов никогда не видел в своей жизни что-ли?
Чтобы правда стала правдой, на таблицы придется навешивать индексы.
Пациент в его текущем состоянии этого ниасилит, поэтому что ни советуй, всё впустую.
Пациент в его текущем состоянии этого ниасилит, поэтому что ни советуй, всё впустую.
реалтайм для обработки не нужен, аганахрена тогда действительно весь этот шлак писать в БД?
Да, кстати.
InnoDB в некоторых случаях сосет по производительности, если сравнивать с MyISAM ROW_FORMAT=FIXED и пользованием INSERT DELAYED.
Случай достаточно вырожден, но тем не менее
InnoDB в некоторых случаях сосет по производительности, если сравнивать с MyISAM ROW_FORMAT=FIXED и пользованием INSERT DELAYED.
Случай достаточно вырожден, но тем не менее
ясно, короче...
спасибо хоть, что не заминусовали в аццкий минус...
Как-то я всё это не так изначально решил делать...
Можно сносить в мусор, ага
спасибо хоть, что не заминусовали в аццкий минус...
Как-то я всё это не так изначально решил делать...
Можно сносить в мусор, ага
Оставить комментарий
uncle17
все же: как это считается, если для каждого визитера нужно поймать, кто, откуда, куда и когда, и при этом не нагружать базу при запросе отчетов?Да и при инсертах не хочется 399% загрузки MySQL, блин.
Порядок - 1Е+7 записей в месяц, отведено на это четверть трехгодичной давности сервера (380 G4) по ресурсам
Как вообще это делается?