Идея модуля для nginx - счетчик

Eugene my-subscr at mail.ru
Mon Mar 13 17:18:55 MSK 2006


Добрый день!

Учет предполагается вести разноплановый: и оперативный и полный. 
Примерно как делает spylog, hotlog и иже с ними. То есть ведется быстрый 
учет примитивных показателей с отображение на кнопке и полный после 
обработки лога с учетом всех реферреров и прочей мути. Для создания лога 
планирую использовать самопальный javascript на клиенте и mod_empty_gif 
на сервере с последующим парсением лога. Но это статический счетчик, 
который дает результат через несколько часов. Надо что-то еще "быстрое". 
Думаю для этого нецелесообразно использовать сложный скрипт, БД и прочее 
- т.к. это будет работать очень медленно, и будет самым настоящим оверхедом.
Мне кажется, что держать для этого какой-нить небольшой скриптик в 
памяти будет самое то. Внимательно посмотрел на perl-овый модуль к 
nginx. Это интересный вариант, только возникает несколько вопросов:

1) Если несколько воркеров, то как будут обновляться данные? Являются ли 
переменные общими для всех воркеров? Если да, то будут ли конфликты при 
обновлении, или там просхходит блокирование?
2) Как загружать и выгружать данные, например, через файл?
3) Как можно управлять перловой программой? Например, нужно послать ей 
сигнал сброс. Как это можно сделать - зайти на определенный урл?

Евгений



>Мне кажется вы немного не с той стороны подходите к вопросу. Если
>задача - подсчет примитивных показателей (заходов с одного ip, всего
>загрузок страниц, число уникальных заходов на страницы одного виртуал
>хоста) - то можно просто делать post_action на быстрый backend - тот
>уже в базу mysql все запишет и подсчитает - задача много
>вычислительных ресурсов не требует. Если нужно более сложную
>статистику считать - то тем более надо прежде всего заниматься не
>низкоуровневыми вещами, а придумыванием структуры базы, которая
>позволит накапливать сложные показатели.
>А всякие самодельные структуры, хеши в памяти - ну дадут экономию в
>1-2 мс на одну загрузку страницы - это же мелочь, не стоит потраченных
>сил.
>
>
>--
>Alexey Polyakov
>  
>






More information about the nginx-ru mailing list