Збираємо власну статистику
Хоча де-факто Google Analytics вже давно посіло місце стандарту вимірюванні статистики у веб проектах, проте бувають моменти в житті, коли потрібно зібрати власну статистику. Минулого місяця я писав про параметри, які варто вимірювати у SaaS, сьогодні ж кілька порад про те, як вимірювати власну статистику.
1. Пишіть до текстових файлів. Якщо у вас на сайт заходить до тисячі відвідувачів щодня, то звичайно будь-яка база даних витримає таке навантаження. Коли є йдеться про сотні запитів на секунду, то, вірогідно, що ви захочете зменшити навантаження на БД. Створюйте текстовий файл, куди буде складатися статистика, при цьому називайте його так, щоб було зрозуміло, що лежить у кожному файлі.
2. Остерігайтесь одночасного запису до одного файлу. Щоб уникнути проблем у випадку, коли один і той же файл намагаються записати одночасно статистику кілька відвідувачів, додавайте випадкові числа до текстового файлу. Наприклад, для збору статистики рекламної кампанії це може бути advert_random.txt
3. Збирайте статистику регулярно. Заведіть cron для парсингу статистики, а після парсингу видаляйте старі файли. Якщо ви використовуєте спосіб з випадковим числом в імені файлу, то вірогідність втратити частину статистики на відвідуваному сайті нижча через те, що ви почали читати файл, коли хтось намагався записати його.
4. Розглядайте альтернативні варіанти. Збирання статистики досить місткий процес, але він потребує дише дві дії – запис та читання. Після закінчення дня маловірогідно, що ви будете оновлювати файл статистики за цей день. Розгляньте альтернативи для того, щоб накопичувати вашу статистику, наприклад, це може бути Infobright, який дозволяє читати БД за менший проміжок часу, ніж MySQL.
Вам не потрібно переводити весь сервіс на нову БД, відведіть для цього лише сегмент статистики.
5. Починайте з малого та розвивайтеся. Після того як ви почнете збирати власну статистику, у вас може з’явитися ідеї що ще можна рахувати власними силами. Але не намагайтеся зробити все до того, як ви налагодите процес від початку.
А яку статистку ви збираєте самостійно? Які інструменти для цього використовуєте?