|
Страница 1 из 1 [ Сообщений: 6 ] |
Автор |
Сообщение |
vexoid
новый человек
|
|
возникла необходимость сделать статистику для ресурса с огромной посещаемостью, пиком посещений в определённое время, превышающем 400 уникальных пользователей...
суть вопроса: мне не нужны готовые варианты, хотя это будет неплохо, но они совсем необязательны... важнее понять правильный подход, который МИНИМАЛЬНО увеличит нагрузку на сервер
в принципе у меня есть на мой взгляд самое правильное решение - в течении суток выбираем из лог файла сервера, далее раз в сутки, во время минимальной загрузки скидываем всё в sql, но возник вопрос - если надо оперативно просмотреть в течении суток статистику навроде: кто пришёл с яндекса по каким запросам в течении сегодняшнего и вчерашнего дня, то есть перекрёстная выборка из лог файла сервера и sql, как МАКСИМАЛЬНО корректно осуществить этот процесс ? хотя бы просто алгоритм...
_________________ lost world... lost life... lost tomorrow... only night
|
|
 |
|
 |
Crazy
Модератор
|
|
Просто запускаешь отдельный процесс, который каждые 10-15 секунд дочитывает логи, проводит предварительную обработку и пишет в базу.
Есть нюансы в случае, когда у тебя имеются типовые запросы, но это уже другая история...
_________________ We've got the big memory and the small memory. The small memory's to remember the small things and the big memory's to forget the big ones.
|
|
 |
|
 |
vexoid
новый человек
|
|
дело в том что проект тесно связан с использованием, активным использованием sql сервера, и честно говоря и без "дописываний" из логфайла не может справится во время пика посетителей с потоком обращений, поэтому собственно и выбран вариант сдампливать лог в базу только раз в сутки, а всё остальное время выбирать из лог файла только при обращении администратора к статистике и всё замечательно до тех пор пока не надо выборку сделать частично из sql, частично из лог файла и объединить результаты...
-
а так если б не нагрузка на sql и так чрезмерная то можно было б использовать модуль апача, который непосредственно пишет лог в sql...
_________________ lost world... lost life... lost tomorrow... only night
|
|
 |
|
 |
Long
SubAdmin Теоретик
|
|
как вариант - вынести службу статистики на отдельный сервер.
_________________ Мудрость не всегда приходит с возрастом. Бывает, что возраст приходит один.
|
|
 |
|
 |
vexoid
новый человек
|
|
не спорю, неплохой вариант, пишем в sql который предназначен только для сбора статистики, расположен на стоящем рядом сервере, но всё же если не обращаться к этому варианту и остаться приверженцем того что я описал выше, так как он тоже достаточно правильный, до того места где надо выбирать статистику за сегодня и за "вчера", точнее он и там правильный, но вот незадача блин - не могу продумать оптимальный алгоритм...
_________________ lost world... lost life... lost tomorrow... only night
|
|
 |
|
 |
vexoid
новый человек
|
|
всё... додумался... интересующимся посвещается то что ниже, остальные могут пропустить:
А - данные за 24 часа из лог файла
Б - данные за "вчера" (условно) из субд
1. в определённое время, когда меньше всего нагрузка дампим в базу из лог файла, до времени предыдущего дампа, отмечаем время дампа
2. если администратор сайта хочет просмотреть суточную статистику, то выбираем из А
3. если администратор сайта хочет просмотреть "вчерашнюю" статистику, то выбираем из Б
4. если администратор сайта хочет просмотреть суточную + "вчерашнюю" статистику, то дампим из А в Б до времени предыдущего дампа, помечаем время дампа, выбираем из Б
PS: благодарственную МраКу за содействие в стимуляции головного мозга...
_________________ lost world... lost life... lost tomorrow... only night
|
|
 |
|
 |
|
Страница 1 из 1 [ Сообщений: 6 ] |
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
|
|