五月七号那天夜里,我在厨房煮第二壶水的时候,顺手刷新了一下统计后台。屏幕上写着:当前在线 3 人,今日访问 214,独立访客 87。
那一刻水壶正好响起来,尖细的声音和屏幕上那个「3」叠在一起。我关了火,回来坐下,发现数字变成了 2。
网页在线统计这件事,我原以为是很冷的。后来才知道,它更像在数一间屋子里还有几个人没有睡。
一、先说我为什么会盯着这个数字看
去年冬天我在一个很小的编辑器里给自己搭了个博客,域名是朋友老周帮我买的,他当时在杭州做后端,顺手收了我 68 块钱,说算一年的。
站建好之后,最难受的就是不知道有没有人来。
页面安安静静,像一间关着门的房间。你在里面摆好椅子、泡好茶,却不知道门外有没有脚步。
后来我装了统计脚本。第一段代码是老周发给我的,一共 11 行,粘贴在 <head> 里。
他说:「你先别管准不准,先看着,看着心里就不空了。」
那晚我把脚本粘好,刷新页面,看着后台从 1 变成 2。那个「2」是我自己,加上他。我们隔着一千多公里,被一行代码放进了同一个数字里。
二、网页在线统计到底在统计什么
说白了,它数的是「此刻还开着页面的人」。
浏览器每隔几十秒会朝服务器打一次招呼,服务器就把这个人的会话续上。超过一段时间没有招呼,就当他走了。
常见的做法是轮询,或者用长连接推送。冷门站点用轮询就够了,一次请求也就几 KB。
我自己的站设的是 45 秒一次心跳,5 分钟没有心跳就判为离线。数值看起来稳,误差也能接受。
真正难的不是技术,是解释。同一个「在线 5 人」,可能是 5 个真人,也可能是 1 个人开着 3 个窗口,剩下 1 个是搜索引擎的爬虫。
所以我后来给自己定了个规矩:在线数只用来感受,不用来判断。判断交给独立访客和停留时长。
数字不会说话,是看数字的人在替它说话。
这句话我记在便签上,贴在显示器的右下角,已经贴了四个月,边角起了毛。
三、几个我反复回去看的细节
第一个是五月三日。那天下午 15 点 42 分,在线人数突然从 9 掉到 1,我以为是脚本挂了,翻日志才发现是机房那边网络抖动,持续了 2 分 18 秒。
第二个是页面停留时间。有一篇写旧书店的文章,平均停留 6 分 40 秒,比站内其他文章高出整整 3 倍。
我点进去看那篇文章,来回读了两遍,也没找出哪里特别。后来想,也许是那段路太安静,读者愿意多站一会儿。
第三个是来源。有个访客连续 14 天每天 21 点左右来一次,看同一篇文章。我不知道他是谁,也没有打算知道。
但我每次看到后台那个小圆点亮起来,都会下意识把水杯挪远一点,怕洒在键盘上,耽误他读。
顺便说一句,站里有一篇讲工具的旧文,标题就叫 三角洲猎鹰直装永久,常被人在深夜点开;另一个下载类的目录页 180软件下载官网 也时不时有人从搜索里摸进来。
还有一次更奇怪,有人在留言里问我 149给我推荐3个幸运数字 这段文字是从哪抄的,我说是我自己随手写的,他不信。
四、我的一点偏见
说实话,我不太喜欢那种把在线人数做成霓虹灯滚动播报的统计插件。
它把「有人来过」变成了一场表演,数字越大越像真的。可一个站的价值,从来不在于同时亮着多少头像。
我甚至觉得,在线统计最诚实的形态,就是一个安静的小数字,加一条能看懂的曲线。
多一个不多,少一个不少,像窗台上的灰,每天擦一遍,第二天还会来。
有人会反驳我,说数据就是用来运营的,不放大怎么增长。我认同一半。但我更愿意把它当成体温计,不是喇叭。
五、把它写成日常
现在我每天只做三件事:早上看一眼昨日访客,中午看一眼来源,睡前看一眼在线人数。
不追涨,也不做告警。数字低了就去写点新的,数字高了就把旧文章再校一遍错字。
老周上周问我,这站现在有多少人。我说不多,一天两百出头。他说挺好,两百个人就是两百次敲门。
我把这句话也记在便签上,贴在原来那张下面。
凌晨一点四十七分的那个「2」后来变成了「1」。我知道剩下的那一个是我自己,但还是让它亮着。
像给一个还没回家的人,留一盏走廊的灯。