SQLite
cavendi
V2EX  ›  SQLite

sqlite 性能是否够用?看上去并发似乎还是很强

  •  
  •   cavendi · 2 days ago · 924 views

    对 SQLite 的印象还停留在“本地轻量小玩具”或者“只能做客户端缓存”,但最近深入看了一些基准测试和生产实践(比如 PocketBase 这种纯基于 SQLite 的 BaaS ),性能表现有点强:

    • 零网络开销: 开启 WAL ( Write-Ahead Logging )模式后,读写互不阻塞。省去了传统外置 DB ( Postgres/MySQL )的跨网络通信开销,纯查询响应速度往往能直接碾压。

    • 写并发并没有想象中脆弱: 虽说是单写机制,但依靠内存级排队和极短的事务耗时,在一台几十块钱的廉价 VPS 上,走 HTTP API 依然能跑出 1 分钟 5 万+ 次的写入( 800+ 真实写入 TPS )。配合 CGO 编译驱动还能再翻 2-3 倍。

    • 读多写少的绝对统治力: 只要不是持续秒级打点的物联网或超大型分布式系统,绝大部分中小型 SaaS 、企业系统、高并发读的 Web 应用,单机 SQLite 跑起来既轻量又极其丝滑。

    大家在生产环境里有大规模上 SQLite / PocketBase 的经验吗?在真实业务高并发下有没有踩到过什么隐蔽的锁死或瓶颈问题?现在写的后端功能基本起步 sqlite ,因为用户量不多,我感觉也是完全够用。

    什么样下的体量,或者什么样的场景下,sqlite 才无法支撑呢

    这是一个大佬的基准测试: https://github.com/pocketbase/benchmarks

    6 replies    2026-08-24 14:57:46 +08:00
    cavendi
        1
    cavendi  
    OP
       2 days ago
    怎么没有人讨论啊
    Muze
        2
    Muze  
       2 days ago
    做本地的博客文章管理,效果也还行,
    jimages
        3
    jimages  
       2 days ago
    一般来说,一般人的业务流量,跑不到 sqlite 的瓶颈,怎么快怎么来。后面扛不住了再搞复杂的。
    xtreme1
        4
    xtreme1  
       2 days ago
    一个是没有跨网络服务, 一个是用户管理和权限控制. 如果我写个 wrapper 还不如用其他现成的数据库
    如果不需要这些 99% 场景够用
    newaccount
        5
    newaccount  
       2 days ago
    如果你的应用不用考虑负载均衡、数据库读写分离、硬盘坏了、可用区故障、实时慢 sql 统计、蓝绿更新打补丁,那就爱用啥用啥呗
    rocmax
        6
    rocmax  
       2 days ago via Android   ❤️ 1
    turso 就是基于 SQLite 的,如果每个处理只访问一个分片,那么就可以无限横向扩展。问题是一旦分片了,两个分片之间就没法确保事务。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3049 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 14:25 · PVG 22:25 · LAX 07:25 · JFK 10:25
    ♥ Do have faith in what you're doing.