额度与用量规则
计量口径:一律用 MB
页面上额度条的主单位是 MB,行数是括在后面的参考值。原因是用户对「占了多大地方」有直觉,对「多少行」没有,而且行数会随行长失真。
计费字节 = 日志内容字节 + 254 B 固定开销(实测值,覆盖主键、5 个索引与行头)
长日志多吃额度、短日志少吃,比按行数一刀切公平。按平均行(60 B 负载)折算:1 行 ≈ 314 B,所以 334,000 行 ≈ 100 MB。
额度表
| 层级 | 项目 | 阈值 | 触发后 |
|---|---|---|---|
| 单条 | 日志行长度 | 512 B 截断 | 超长部分丢弃并计数 |
| 用户 | 今日流量(全部设备合计) | 100 MB ≈ 334,000 行 | 见下节 |
| 用户 | 软提示线 | 60 MB | 用量条转黄 + 横幅提示 |
| 设备 | 单机今日流量 | 100 MB | 只防单台独吞共享池 |
| 设备 | 保留量上限 | 40 MB ≈ 127,000 行 | 超出立刻 FIFO 裁旧 |
| 设备 | 保留时长 | 7 天 | 清理任务删过期 |
| 用户 | 总存储上限 | 300 MB ≈ 955,000 行 | 拒收新日志 |
| 用户 | 设备数上限 | 20 台 | 超出不让认领 |
| 用户 | 月带宽(软) | 20 GB | 超限告警,暂不切断 |
今日流量是账户共享池:名下所有设备当天写入的字节累加,谁先到线谁先停。设备级那一档默认与用户级同宽,存在的意义是它可以被调小 —— 想让 20 台设备互相留余量就设成 5 MB/台。取两档里更紧的那条执行。
三种模式
| 模式 | 上传 | 落库 | 占带宽 | 占存储 | 计日流量 |
|---|---|---|---|---|---|
| 空闲(录制关 + 无人看) | 是 | 否 | 有 | 0 | 否 |
| 实时观看(录制关 + 有人看) | 是 | 否 | 有 | 0 | 否 |
| 录制中(开关打开) | 是 | 是 | 有 | 是 | 是 |
现行固件「只要串口有数据就往上报」,所以录制关只能省存储、省不了带宽。要连带宽一起省,需要固件支持 {"cmd":"log","mode":"off"} 暂停上报。
撞线之后怎么恢复
| 原因 | 恢复方式 | 生效时间 |
|---|---|---|
| 今日流量用尽 | 等自然日重置 | 自动,无需操作 |
| 保留量 / 总存储满 | 点「清理旧日志」 | 立即 |
| 7 天到期删除 | 不可恢复 | — |
关键区分:清理旧日志只能腾存储空间,腾不出今日流量额度。今天花的就是今天结算,删日志不能让当天额度重新长出来。UI 上这两条分开显示就是为了避免这个困惑。
这些数字是什么量级
| 场景 | 用量 | 约合行数 | 占日额度 |
|---|---|---|---|
| 一次完整启动日志 | 0.75 MB | 2,500 行 | 0.8% |
| 调试突发 5 行/秒 × 10 分钟 | 0.9 MB | 3,000 行 | 0.9% |
| 心跳 + 状态 1 次/10 秒 全天 | 2.6 MB | 8,640 行 | 2.6% |
| 传感器 1 次/秒 全天 | 26 MB | 86,400 行 | 26% |
| 115200 串口满速抓取 | 4,966 MB | 1,659 万行 | 4,966%(不是本产品的使用场景) |
100 MB/天 是按「放开手脚录」定的:日常调试根本碰不到线,真正的红线落在存储侧(单台 40 MB 保留量)。行业对照:ThingSpeak 免费档 8,200 条/天/通道,Adafruit IO 免费档约 43,200 条/天,落在同一量级。