LINUX.ORG.RU

Учимся считать - для самых маленьких

 ,


0

3

ЛОР, а вот подскажи, как правильно считать? Допустим, количество просмотров страниц, количество загрузок файлов...

Стоит ли тупо делать +1 в базу при каждом обращении к странице, файлу?

А стоит ли овчинка выделки, если считать, что юзверь может только один раз обратиться к странице, файлу за время сессии? Делаем проверку в $_SESSION, если пользователь уже запрашивал файл, то больше +1 в базу писать не нужно. Но жалко тратить ресурс tmpfs на каждого анонимуса, чтобы хранить сессии.

А еще у nginx есть такая штука, называется post_action, делается так:

location / {
  post_action /actions.php?q=$uri&ip=$remote_addr&status=$request_completion;
}

и потом в actions.php мы получаем только _выполненные_ запросы и делаем +1 в базу, даже если ты запросил файл 100500 раз, но ниразу не скачал его целиком, post_action выполняться не будет.

А может просто в отдельный лог писать все запрашиваемые файлики, а потом раз в сутки по крону делать grep -c для подсчета каждого файла, и только тогда записывать количество загрузок в базу. м?

★★★★★

Но жалко тратить ресурс tmpfs на каждого анонимуса, чтобы хранить сессии.

Зашёл, чтобы увидеть эту строку.

А если серьёзно, для каких целей тебе эта статистика? ИМХО, проще всего будет обработать лог nginx

router ★★★★★
()

количество просмотров страниц

если оно надо кому-то кроме тебя - то аналитикс/метрика/чартбит. если только тебе - грепать логи.

количество загрузок файлов

redis или любая другая KV умеющая +1

iSage ★★★★
()

Можно выставить уникальную куку на посетителя в nginx и по ней считать.

alfss
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.