SQLite 性能是否够用?看上去并发似乎还是很强
cavendi:
对 SQLite 的印象还停留在“本地轻量小玩具”或者“只能做客户端缓存”,但最近深入看了一些基准测试和生产实践(比如 PocketBase 这种纯基于 SQLite 的 BaaS),性能表现有点强:
- **零网络开销**:开启 WAL(Write-Ahead Logging)模式后,读写互不阻塞。省去了传统外置数据库(Postgres/MySQL)的跨网络通信开销,纯查询响应速度往往能直接碾压。
- **写并发并没有想象中脆弱**:虽说是单写机制,但依靠内存级排队和极短的事务耗时,在一台几十块钱的廉价 VPS 上,走 HTTP API 依然能跑出 1 分钟 5 万+ 次的写入(800+ 真实写入 TPS)。配合 CGO 编译驱动还能再翻 2-3 倍。
- **读多写少的绝对统治力**:只要不是持续秒级打点的物联网或超大型分布式系统,绝大部分中小型 SaaS、企业系统、高并发读的 Web 应用,单机 SQLite 跑起来既轻量又极其丝滑。
大家在生产环境里有大规模上 SQLite / PocketBase 的经验吗?在真实业务高并发下有没有踩到过什么隐蔽的锁死或瓶颈问题?现在写的后端功能基本起步使用 SQLite,因为用户量不多,我感觉也是完全够用。
什么样的体量,或者什么样的场景下,SQLite 才无法支撑呢
这是一个大佬的基准测试:[https://github.com/pocketbase/benchmarks](https://github.com/pocketbase/benchmarks)
---
原文链接:[点击查看](https://www.v2ex.com/t/1236727)
对 SQLite 的印象还停留在“本地轻量小玩具”或者“只能做客户端缓存”,但最近深入看了一些基准测试和生产实践(比如 PocketBase 这种纯基于 SQLite 的 BaaS),性能表现有点强:
- **零网络开销**:开启 WAL(Write-Ahead Logging)模式后,读写互不阻塞。省去了传统外置数据库(Postgres/MySQL)的跨网络通信开销,纯查询响应速度往往能直接碾压。
- **写并发并没有想象中脆弱**:虽说是单写机制,但依靠内存级排队和极短的事务耗时,在一台几十块钱的廉价 VPS 上,走 HTTP API 依然能跑出 1 分钟 5 万+ 次的写入(800+ 真实写入 TPS)。配合 CGO 编译驱动还能再翻 2-3 倍。
- **读多写少的绝对统治力**:只要不是持续秒级打点的物联网或超大型分布式系统,绝大部分中小型 SaaS、企业系统、高并发读的 Web 应用,单机 SQLite 跑起来既轻量又极其丝滑。
大家在生产环境里有大规模上 SQLite / PocketBase 的经验吗?在真实业务高并发下有没有踩到过什么隐蔽的锁死或瓶颈问题?现在写的后端功能基本起步使用 SQLite,因为用户量不多,我感觉也是完全够用。
什么样的体量,或者什么样的场景下,SQLite 才无法支撑呢
这是一个大佬的基准测试:[https://github.com/pocketbase/benchmarks](https://github.com/pocketbase/benchmarks)
---
原文链接:[点击查看](https://www.v2ex.com/t/1236727)
· 0 个赞
· 0 个赞
· 0 个赞
· 0 个赞