Учет предполагается вести разноплановый: и оперативный и полный.
Примерно как делает spylog, hotlog и иже с ними. То есть ведется быстрый
учет примитивных показателей с отображение на кнопке и полный после
обработки лога с учетом всех реферреров и прочей мути. Для создания лога
планирую использовать самопальный javascript на клиенте и mod_empty_gif
на сервере с последующим парсением лога. Но это статический счетчик,
который дает результат через несколько часов. Надо что-то еще "быстрое".
Думаю для этого нецелесообразно использовать сложный скрипт, БД и прочее
- т.к. это будет работать очень медленно, и будет самым настоящим оверхедом.
Мне кажется, что держать для этого какой-нить небольшой скриптик в
памяти будет самое то. Внимательно посмотрел на perl-овый модуль к
nginx. Это интересный вариант, только возникает несколько вопросов:
1) Если несколько воркеров, то как будут обновляться данные? Являются ли
переменные общими для всех воркеров? Если да, то будут ли конфликты при
обновлении, или там просхходит блокирование?
2) Как загружать и выгружать данные, например, через файл?
3) Как можно управлять перловой программой? Например, нужно послать ей
сигнал сброс. Как это можно сделать - зайти на определенный урл?
Евгений
Мне кажется вы немного не с той стороны подходите к вопросу. Если
задача - подсчет примитивных показателей (заходов с одного ip, всего
загрузок страниц, число уникальных заходов на страницы одного виртуал
хоста) - то можно просто делать post_action на быстрый backend - тот
уже в базу mysql все запишет и подсчитает - задача много
вычислительных ресурсов не требует. Если нужно более сложную
статистику считать - то тем более надо прежде всего заниматься не
низкоуровневыми вещами, а придумыванием структуры базы, которая
позволит накапливать сложные показатели.
А всякие самодельные структуры, хеши в памяти - ну дадут экономию в
1-2 мс на одну загрузку страницы - это же мелочь, не стоит потраченных
сил.
--
Alexey Polyakov