Звідки беруться цифри на сторінці «про нас»
Тепер угорі сторінки «Про нас» розташовано шість цифр: людей онлайн просто зараз, відвідувачів учора, лічильників у використанні, країн за останні тридцять днів, дизайнів на вибір і рік, коли все почалося. Усі шість беруться безпосередньо з працюючої системи, і дві з них змінюються просто під час перегляду сторінки.
Це варто пояснити, бо цифра на такій сторінці зазвичай не є справжньою.
Звідки береться кожна з них
Онлайн просто зараз — це всі, кого було зафіксовано на будь-якому сайті з лічильником за останні п'ять хвилин. Один запит до невеликої таблиці, шість десятих мілісекунди, тож сторінка щоразу запитує це значення заново, коли хтось її відкриває.
Відвідувачів учора — це кількість унікальних відвідувачів по всіх лічильниках за весь учорашній день. Учора, а не сьогодні, бо половина дня — це не те число, яке з чимось можна порівнювати. Одинадцять мілісекунд, також запитується щоразу.
Лічильники у використанні та країни — найдорожча пара. Підрахунок лічильників, що зафіксували хоч щось за останні тридцять днів, на цьому обладнанні триває трохи менше дев'яти десятих секунди; підрахунок унікальних країн — дві десяті. Запитувати будь-яке з цих значень при кожному перегляді сторінки означало б витрачати цілу секунду часу бази даних на число, яке між відвідуваннями змінюється щонайбільше на одиницю. Вони обчислюються раз на день і зберігаються в невеликому файлі поруч із кодом.
Дизайни беруться з того самого файлу, що будує галерею, тож це число не може розійтися з тим, що справді доступне для вибору — просто зараз це 691. 2006 — рік найстарішого лічильника, що досі є в таблиці. 18 листопада, якщо потрібен ще й день.
Лічильники у використанні, а не лічильники, коли-небудь створені
Це той випадок, коли той, хто керує сервісом, сам обирає, що сказати, тож ось цей вибір.
Із 2006 року видано 379 174 номери лічильників. 2 124 з них зафіксували відвідування за останні тридцять днів. Перше число більше, і воно теж правдиве, і воно описує архівну шафу. Друге число описує те, що працює. На сторінці саме друге, і підпис під ним каже, яке з двох це саме.
Дві дрібниці про те, як це зроблено
Кешована пара значень несе в собі дату, для якої її обчислено. Коли ця дата вже не сьогоднішня, сторінка перераховує значення — і записує нову дату перед тим, як почати, а не після. Інакше двоє людей, що відкрили сторінку в ту саму секунду після півночі, обидва запустили б повільні запити, а на машині, де кожне відкрите з'єднання отримує власний процес, це обертається повільною сторінкою для всіх інших.
Якщо запит завершується помилкою, плитка зникає, а не показує нуль. Нуль був би твердженням.
Решта сторінки
Її переписали одночасно з цим: що таке лічильник насправді, що потрапляє на сторінку статистики, що відбувається з даними відвідувача, чесне порівняння зі звичайним скриптом аналітики та питання, які нам надсилають найчастіше. Тепер її перекладено на всі одинадцять мов замість п'яти.
Дещо з того, що раніше було на цій сторінці, з неї прибрали, і це, як виявилося, заслуговувало на окрему статтю.