数据库(例如 PostgreSQL)中每秒的事务数

数据库(例如 PostgreSQL)中每秒的事务数

我参考了 PostgreSQL 网站上的 2 个文档页面:#1#2从这些中,我们看到事务日志每秒被刷新到磁盘 5 次(wal_writer_delay = 200ms),并且我们还看到 RDBMS 不会将事务报告为成功,直到它被提交到日志文件,因为默认情况下synchronous_commit = on。

如果每次写入都在自己的事务中完成(通常情况如此),那么理论上每秒可报告的成功写入次数将达到 5 次。原因是日志写入磁盘的速度不会比这更快。

然而我们看到的速度却是每秒数千次。

这是如何运作的?

需要明确的是,我说的是每次写入都在其自己的事务中(默认用法)。我知道为什么批量插入不适用于这个问题。

答案1

当 WAL 被写入时,提交将会排队并且全部刷新。

所以你会得到大团体每秒提交 5 次。

相关内容