Stats4U 3 уже здесь
Сайт, на котором опубликована эта запись, был перестроен в этом месяце — не просто оформлен заново, а перестроен, начиная с самого пути подсчёта. Об одиннадцати тихих годах, которые к этому привели, есть отдельная запись. А эта — о том, что именно изменилось, и об измерениях, которые вообще обосновали необходимость перестройки.
Число, которое всё решило
Прежде чем начать какую-либо работу, кто-то подсчитал, сколько изображений счётчиков отдаётся корректно. Ответ — примерно половина.
Из примерно 4200 запросов к счётчикам в день 2125 возвращали что-то, кроме количества посетителей. Дизайны, которые годами ранее незаметно перестали отрисовываться, потому что обращались к таблицам базы данных, которых уже не существовало. Пустые изображения. Ошибки там, где должно было быть число. Никто на это не жаловался — по простой причине: счётчик, который ничего не показывает, выглядит почти как счётчик с маленьким числом.
Сейчас этот показатель — около 25 в день. Половина процента.
Систему в таком состоянии не исправить точечными заплатками, поэтому её разобрали и собрали заново.
Легче — измерено, а не декларировано
Раньше страница статистики загружала библиотеку для построения графиков весом 208 КБ. Она рисовала пять диаграмм, четыре из которых показывали ту же информацию, что и списки рядом с ними, и составляла примерно 90% веса страницы — сам HTML страницы весил 8 КБ. Библиотеки больше нет. Теперь диаграммы рисуются напрямую в виде SVG, меньше 1 КБ, вообще без использования скриптов.
- Страница статистики: около 16 КБ в сжатом виде — было примерно 78 КБ.
- Главная страница: 44 КБ HTML — было 85 КБ, а 652 КБ превью-изображений, которые пересобирались при каждом отдельном визите, теперь представляют собой статические файлы с кэшированием на один год.
- Затраты на запуск на один запрос: 0,94 мс — было 7,26 мс.
Последняя цифра заслуживает отдельного пояснения. Каждый запрос к счётчику — включая те, чья единственная задача — вернуть маленькое изображение, — загружал таблицу переводов из базы данных и открывал 63-мегабайтный файл геолокации, а затем оба результата просто отбрасывались неиспользованными. Это около 6,4 миллисекунды на запрос, затраченных и отброшенных, по несколько тысяч раз в день, на протяжении многих лет.
Что нового
- Никаких cookie на пути подсчёта, и ничего не считывается с устройства посетителя. Посетители различаются по хешу, который удаляется через два дня.
- Боты распознаются и учитываются отдельно. Страница статистики теперь показывает, какая доля обращений приходится на краулеров, а не на людей. Они по-прежнему учитываются в общих итогах — почему, рассказано в отдельной записи.
- Приватная статистика защищена ключом в ссылке — без него страница не открывается.
- Данные можно экспортировать и забрать их с собой.
- Живой просмотр: кто находится на сайте прямо сейчас и почасовой трафик за сегодня.
- Тёмная тема и весь сайт на десяти языках.
- Никакой рекламы на страницах статистики. Страница статистики — не место, где что-то продают.
Что сознательно осталось без изменений
- Идентификатор счётчика и код для вставки. Ничего не нужно вставлять заново. Код с 2013 года по-прежнему работает.
- История счётчика. Каждый визит, посчитанный до перестройки, по-прежнему учтён и после неё.
- Старые дизайны. Растровые счётчики 2006 года всё так же доступны рядом с новыми. Во многом благодаря им люди остаются с нами, и перестройка — не повод отказываться от чьего-то выбранного счётчика.
- Бесплатно, без необходимости регистрации. Так же, как и в 2006 году.
Что дальше
Большинство пунктов из списка выше заслуживают больше одной строки, и по нескольким из них выйдут отдельные записи — как работает подсчёт без cookie, какая доля трафика на деле оказывается краулерами, и что произошло со старыми дизайнами.
Если счётчик на этом сайте в какой-то момент за последние несколько лет перестал работать, сейчас самое время посмотреть на него снова. Судя по цифрам в начале этой записи, есть неплохой шанс, что он был в числе той самой сломанной половины, — и неплохой шанс, что сейчас он снова работает.