Orbitra 负载实测:480 请求/秒,零错误,p99 182 毫秒

追踪器生来就处在负载之下:每个点击都是一次写入、一次唯一性检查和一次重定向。因此在给 v1.6.3 打标签之前,我们在真实规模数据库上重构了唯一性管线,并在测试台上用 k6 分步负载进行了压测。数字如下。

TL;DR: 在 390 万点击的数据库上(最近 24 小时约 100 万),Orbitra 稳定承载 480 请求/秒,零错误,p99 182 毫秒——在一台普通的 2 vCPU / 7 GB 容器上。首次请求触发的迁移耗时 0.04 秒,新索引由一次 4.8 秒的 cron 构建完成,320 万点击上的报表速度更快——数字与上一版本逐行一致。
结论:在 390 万点击的数据库上 480 请求/秒、零错误——来自一个没有 ClickHouse、没有 Redis、也没有授权费的追踪器。

为什么要做这次测试

v1.6.3 让去重过滤器对移动 NAT 更公平:唯一性键从单独的 IP 变为 IP + User-Agent。在运营商 NAT 后面,两个不同的人曾共用一个 IP——第二位访客拿到的 subid 在数据库里没有对应的点击行,他的转化无从挂靠。

这一改动需要在已经承载真实流量的数据库上新增 ua_hash 列和一个复合索引。这是最吓人的一类迁移——所以在打标签之前,我们按用户安装会经历的完整路径,在真实规模的数据上做了演练。

测试台

结果

场景(除注明外均为 320 万数据库)req/s错误p99CPU
唯一访客,原厂 FPM(约 5 万数据库)480046 毫秒76%
唯一访客480075 毫秒77%
重复访客(50 组 NAT)4800,约 1% 经 spool14 毫秒61%
唯一访客 + 面板打开,报表每 2 秒刷新3200587 毫秒81%
唯一访客,调优 FPM/nginx,开启 geo 库5600187 毫秒94%
唯一访客,刻意过载80027% 超时—97%

以及 390 万快照上的迁移演练:「升级」后的第一个请求在 0.04 秒内完成 migration 55,一次 cron 在 4.8 秒内建好索引、29.6 秒回填 1 008 085 个 UA 哈希——NAT 流量以 480 请求/秒通过,零错误,p99 182 毫秒,subid 全部入库。同一场景下旧版本丢失 27 775 个 subid,新版本为零。

两个值得点名的细节。即使在 800 请求/秒——越过崩溃点——每一个已完成的重定向仍然写入了数据库:过载损害的是延迟,而不是持久性。哈希正确性也单独校验:随机抽 2 000 行与 PHP crc32 比对——零差异。

算一笔账:一次点击约消耗 2.5 毫秒 CPU,2 vCPU 的天花板约在 550–600 请求/秒(CPU 瓶颈)。同样的算法外推到 4 vCPU 约为 1 000 请求/秒——目前只是纸面推算,我们也如实标注。

压测在发布前抓到了什么

这次压测一半的价值在于揪出的 bug——全部在打标签前修复:

为什么撑得住

坦率的说明

对你意味着什么

一台普通的 VPS——多数指南推荐的入门档——已经有应对可观日常流量的余量,而且上面没有按事件计费的账单等着你。如果你因为「SQLite 撑不住」而留在 Keitaro,这份数据值得一看。

Orbitra 在干净的 Ubuntu 服务器上约 15 分钟即可装好——一条命令;在线演示随时开放,可以先点点面板。

常见问题

测试跑在什么硬件上?

一台 2 vCPU / 7 GB 内存的云容器,Ubuntu 24.04,nginx 和 PHP-FPM 保持 install.sh 的原厂配置,k6 也跑在同一台机器上——所以数字只可能偏低。绝对数字始终取决于你的 VPS:你扩展的是服务器,而不是套餐。

结果适用于当前版本吗?

测试在 v1.6.3 候选版本上进行。存储架构(SQLite + 写入缓冲 + 唯一性索引)与当前版本一致;此后的变化是功能和界面。

为什么用 SQLite 而不是 ClickHouse?

单文件、WAL 模式、无需独立的数据库服务器。在中小流量下瓶颈是磁盘 I/O 而非内存,所以便宜的 VPS 足以走很远。对于持续每天数百万点击,列式架构确实更强——我们对此直言不讳。

升级有没有丢数据?

在重复访客场景中,旧版本丢失了 27 775 个 subid;新版本为零。320 万点击上的报表与旧版本逐行一致。

延伸阅读

vs Voluum

Voluum 替代方案:免费自托管追踪器

Voluum 起步价约 $149/月。Orbitra 是免费的自托管追踪器,内置克隆与 50+ CPA 集成。完整对比与迁移指南。

阅读全文 →
vs Keitaro

Keitaro 替代方案:免费自托管追踪器

最接近的自托管竞品 — 但许可费 $79/月起。功能对比 + 一键迁移 campaign。

阅读全文 →