联系支持

我们通过电子邮件回复,通常两天内。

为防止滥用,Google reCAPTCHA 会检查这次提交,其间会向 Google 传输数据。脚本只在此表单打开时才加载。

← 全部文章

Stats4U 3 来了

承载这些文字的这个网站,本月经历了一次重建——不是改版,而是从计数路径开始的彻底重建。关于促成这一切的、此前那沉寂的十一年,另有一篇文章专门讲述。这一篇要说的,是究竟改变了什么,以及是哪些测量数据,证明了这件事值得去做。

那个促成决定的数字

在任何工作开始之前,有人统计了究竟有多少计数器图像被正确地送达。答案是,大约只有一半。

在每天大约 4,200 次计数器请求中,有 2,125 次返回的并不是访客数字。有些样式因为查询的数据库表早已不复存在,多年前就已悄然停止绘制;有的是空白图像;有的地方本该显示数字,却显示着错误信息。这一切都没有人报告过,原因很简单:一个什么都不显示的计数器,看起来和一个显示很小数字的计数器,并没有太大区别。

如今这一数字降到了每天约 25 次,占比只有半个百分点。

重建前2,125如今25每天 4,200 张计数器图片中

处于这种状态的系统,靠修修补补是解决不了的,于是它被彻底拆开,重新搭建。

更轻量,靠测量说话,而非空口宣称

统计页面过去会加载一个 208 KB 的图表库。它绘制五张图表,其中四张显示的信息,和旁边列表里的内容其实是一样的,而这个库占了页面体积的大约 90%——页面本身的 HTML 只有 8 KB。现在这个库已经被去掉了。图表如今直接以 SVG 绘制,体积不到 1 KB,完全不涉及任何脚本。

  • 统计页面:压缩后约 16 KB,此前约为 78 KB。
  • 首页:HTML 部分为 44 KB,此前为 85 KB——此外,过去每一次访问都要重新生成的 652 KB 预览图像,现在已变为带一年缓存期的静态文件。
  • 每次请求的启动开销:0.94 毫秒,此前为 7.26 毫秒。

最后这个数字值得多说一句。此前,每一次计数器请求——包括那些唯一任务就是返回一张小图片的请求——都会从数据库中加载一张翻译表,并打开一个 63 MB 的地理定位文件,然后把这两项结果都白白丢弃,根本没有用到。这相当于每次约 6.4 毫秒,花掉之后又丢弃,一天要发生数千次,而且持续了好几年。

新增了什么

  • 计数路径中不再设置 Cookie,也不会读取访客设备上的任何信息。访客之间的区分,依靠的是一个两天后即被丢弃的哈希值。
  • 能够识别并统计机器人流量。统计页面现在会显示有多少比例的访问来自爬虫,而非真人。它们仍会计入总数——其中的原因,另有一篇文章专门说明。
  • 私密统计由链接中的密钥保护——没有它,页面便无法打开。
  • 数据可以导出,随身带走。
  • 实时视图:此刻谁在网站上,以及今天每小时的流量情况。
  • 深色模式,以及全站十种语言版本。
  • 统计页面不再投放广告。统计数据页面,不应该成为推销东西的场所。

刻意保持不变的部分

  • 计数器 ID 和嵌入代码。无需重新粘贴任何内容。2013 年的代码如今依然可用。
  • 历史数据。重建之前统计到的每一次访问,重建之后依然计算在内。
  • 旧版样式。2006 年的位图计数器,如今依然与新样式并列提供。它们是人们留在这里的部分原因,重建不该成为丢弃某人所选计数器样式的理由。
  • 免费,且无需注册账户。和 2006 年时一样。

接下来

上面列表中的大多数内容,都值得不止一行的篇幅,其中几项还会各自有一篇专门的文章——计数在没有 Cookie 的情况下是如何运作的、流量中究竟有多少最终被证实是爬虫,以及旧版样式的后续情况。

如果这里的某个计数器在过去几年中的某个时刻停止了工作,现在正是重新查看它的好时机。根据本文开头提到的数字,它相当有可能正是当初出问题的那一半之一,而现在,它也相当有可能已经恢复正常。

广告