运行中的 DigitalOcean 快照到底会造成什么后果
来源:dev.to — 2026-11-14
📋 概述
DigitalOcean 允许在 Droplet 运行时打快照,官方文档提醒这可能带来性能下降与数据一致性风险。作者用一台法兰克福的 2GB/1vCPU 机器跑 Ubuntu 24.04 与 Postgres 16,同时开两个写入者每秒各写约一百条,做了六次在线快照并逐次恢复到新机器上检查。结果是写入几乎没受影响,Postgres 提交延迟的第 99 百分位稳定在 2.8 到 5.7 毫秒;每次快照都在发出请求后 3.0 到 3.25 秒之间冻结磁盘,相当于在这一瞬间拔掉电源。
🔑 核心要点
恢复后的 Postgres 都提示未正常关闭并重放 WAL 0.13 到 0.64 秒,六次都没有出现空洞或半行数据。
没做 fsync 的那个文件每次都落后 ,最多差 26.4 秒,结尾还有 704 到 3392 个零字节。
原因是 DigitalOcean 的 Ubuntu 镜像用 commit=30 挂载根分区,日志最多三十秒才提交一次。
结论是 Postgres 靠默认 fsync 与 full_page_writes 能扛住,而不主动落盘的应用不行。
💡 金句
“So on this Droplet, at this write rate, the performance degradation the docs mention didn't show up at all.”译:所以在这台 Droplet 上、在这个写入速率下,文档提到的性能下降完全没有出现。
👍 0
❤️ 点赞
👎 0
沉底
← 返回 dev.to 首页