TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Show HN: SQLite Transaction Benchmarking Tool

128 点作者 seddonm110 个月前
I wanted to make my own evaluation of what kind of performance I could expect from SQLite on a server and investigate the experimental `BEGIN CONCURRENT` branch vs the inbuilt `DEFERRED` and `IMMEDIATE` behaviors.<p>Explanatory blog post: <a href="https:&#x2F;&#x2F;reorchestrate.com&#x2F;posts&#x2F;sqlite-transactions&#x2F;" rel="nofollow">https:&#x2F;&#x2F;reorchestrate.com&#x2F;posts&#x2F;sqlite-transactions&#x2F;</a>

1 comment

leononame10 个月前
Thanks for the interesting article. Lots of things seem to happen in SQLite land at the moment and I appreciate that the SQLite team documents their quirks so openly, it gives great confidence.<p>Since I don&#x27;t know where else to ask, maybe this is a good place: How do async wrappers around SQLite (e.g. for node or python) work? SQLite only uses synchronous I&#x2F;O if I&#x27;m not mistaken. Is it just a pretend async function with only synchronous code?<p>And, as a follow-up: If I have a server with say 100 incoming connections that will all read from the database, I&#x27;ve got 100 readers. No problem in WAL mode. However, I still could get congested by file I&#x2F;O, right? Because every time a reader is waiting for data from disk, I can&#x27;t execute the application code of another connection in a different thread since execution is blocked on my current thread. Is there any benefit to having a thread pool with a limit of more than $NUM_CPU readers?<p>And one more: Would you recommend actually pooling connections or just opening&#x2F;closing the database for each request as needed? Could keeping a file handle open prevent SQLite from checkpointing under certain conditions?
评论 #40995791 未加载
评论 #40993559 未加载
评论 #40995986 未加载
评论 #40994701 未加载