虽然看到OLTP工作负载的一些良好的启动配置会很有趣,但我们已经解决了在提交过程中不合理的高CPU的神秘面纱。原来它不是Postgres,它是Windows Defender不断扫描Postgres数据文件。设置托管测试服务器的VM的团队不了解我们需要后端配置而不是用户配置。
如果 COMMIT 是你的时间,这可能意味着:
COMMIT
你的系统尊重 FlushFileBuffers 系统调用,应该是这样。
FlushFileBuffers
你的I / O速度很慢。
您可以通过设置进行测试 fsync = off 在 postgresql.conf - 但不要 曾经 在生产系统上执行此操作。如果这样可以大大提高性能,那么当您实际需要将数据写入磁盘时,您就知道I / O系统非常慢。
fsync = off
postgresql.conf
在不牺牲数据持久性的情况下,PostgreSQL(或任何其他可靠的数据库)无需改进。