Mortar Performance SLO

Service Level Objectives Mortar 团队为正式发布承诺 + 监控。这 份文档是对客户公开的 SLO 数字,不是内部 stretch goal。低于 本文承诺会触发 SLA 退款(enterprise pack 详细机制)。

总体可用性

指标Beta (Mortar Cloud beta)GAEnterprise
Uptime (monthly)99.5%99.9%99.95% / 99.99% (tier 加价)
RPO (data loss)5 min1 min0 (synchronous replication)
RTO (recovery time)30 min5 min< 1 min (BYOC + cross-region)

Beta 故意标 99.5% — early beta 客户接受度,留出运维学习窗口。Q1 真实运行 30 天后再上调到 99.9%。

每个 primitive 的 latency SLO

测点:北京 / 上海 region 内 同 VPC 客户端调 Mortar API。跨 region

  • 跨 cloud 的数字另列。

database primitive — Postgres 操作

操作p50p95p99
from('t').select(...).limit(N) (N ≤ 100)8 ms30 ms80 ms
from('t').insert(row)12 ms40 ms100 ms
from('t').update(...).eq(...)15 ms50 ms120 ms
from('t').delete().eq(...)10 ms35 ms90 ms
复杂 join (3 表)25 ms80 ms200 ms

p99 超 200 ms 触发告警。

storage primitive — OSS 操作

操作p50p95p99
Upload < 1 MB80 ms250 ms600 ms
Upload 1-10 MB250 ms800 ms2 s
Download (signed URL mint)10 ms30 ms80 ms
Direct download via CDN (post-sign)30 ms100 ms400 ms

Upload 大文件用 multipart;下载推荐 signed URL 走 CDN。

compute primitive — Function invoke

操作p50p95p99说明
Warm invoke (recent)50 ms200 ms500 ms函数 idle 池缓存
Cold start (Aliyun FC)800 ms1.5 s3 s100% 冷启冷 — 真实业务用 idle
Cold start (Tencent SCF)1.2 s2.5 s5 sSCF 冷启慢于 FC

冷启慢是 FaaS 通病,文档要透明告知;用户用 reserved instance(规划中 加)能消掉。

cache primitive — Redis 操作

操作p50p95p99
GET / SET1 ms3 ms10 ms
MGET (10 keys)2 ms5 ms15 ms
Pub/Sub publish1 ms4 ms12 ms

Tair (Aliyun Redis) 在 cn-hangzhou + 同 VPC 客户端测的。跨 AZ +20% 延迟,跨 region 不支持(cache 是 ephemeral, 不跨 region 复制)。

network (egress) — 计量精度

Mortar 计费在 storage signed-URL + API response 两层。SLO 不是延迟而 是计费准确率

维度目标准确率
API response 字节(EgressMeter 中间件)≥ 99.9% (内核 socket 字节级精确)
OSS signed-URL 字节(projected)± 5%(当前仅在签 URL 时按 object size × N-times-signed 估算入账;规划中用 OSS access-log → 账本对账管道把误差收到 ±1%,见 roadmap.md
OSS direct download via CDN± 5%(同上)

对账管道上线后 reconcile job 把 projected 跟实际访问日志对齐,超 5% 偏差自 动告警。月底账单按 reconciled 数据出账,不按 projected。当前上线 阶段仅按 projected 出账(接受 ±5% 误差),等真实流量后再上对账管道。

CDN + cross-region

维度国内海外
OSS download via CDN p9580 ms250 ms
Mortar API p95 (北京客户端 → 北京 region)30 msn/a
Mortar API p95 (上海 → 北京 region)80 msn/a
Mortar API p95 (北京 → 新加坡,规划中)TBD200 ms

多 region 上线后 SLO 重新对齐 (每 region 独立测点,国际化 client 命中 最近 region 时按本地 SLO 计算)。

测点 + 监控

  • 客户端探针:阿里云 SLS Probe 每 60 秒 ping 关键 endpoint,从 北京 / 上海 / 深圳 / 新加坡 ECS 起。
  • synthetic 流量:每个 primitive 每 5 分钟模拟一次真实 workflow (signup → insert → query → upload → invoke → cleanup).
  • 真实流量:所有 API 走 EgressMeter + LatencyHistogram → SLS Metric Store,每分钟 aggregate。
  • 告警:超过 SLO 数字 10% 即 page AI 监控员(见 monitoring-ai-employee.md), AI 判定 → autofix / page 人。

SLO breach 处理

  1. AI 监控员 30 秒内 trigger(synthetic / real metric 之一突破)
  2. AI 拉日志 + 最近 deploy + 上游云厂家 status page,分类 false-alarm / incident
  3. Incident:post Slack/飞书 + 创建 incident ticket + page 值班
  4. 月底 incident 汇总 → 算月度 SLA → 触发 credit-back(enterprise) 或 status report (beta)

Enterprise — 升级 SLO

Enterprise 客户可以买 99.95% 或 99.99%。每升一级要:

  • 99.95%: 跨 AZ 多 RDS + 跨 AZ Redis + 自动 failover 测试每周
  • 99.99%: 跨 region active-active + 数据 sync replication + 跨 cloud failover

价格约 +50% / +200% baseline。

Public SLA report

正式发布起每月发布。