WAL 数据库登录在 RAID10 上的单独磁盘上是个好主意吗?

Fra*_*fka 7 postgresql

我有一个 RAID10 服务器,并且 Postgres 将日志(pg_xlog aka WAL)写入同一个 RAID10 阵列。

我在带有大缓冲区的同步模式下使用 WAL 并执行大量批量插入和更新,因此希望可以使用该缓冲区。

将日志拆分到一个额外的磁盘上而不是在 raid10 中是个好主意吗?我可以用 2 个磁盘在 RAID 中填充内容,但这真的会改善什么吗?

我期待有人能说出一些优点和缺点。

小智 8

您询问了优点和缺点,在给出分离日志的标准建议时很少有人提到的缺点是它会减慢您的读取速度,因为您现在可以用于读取的主轴减少了。走哪条路取决于数据库中的读取与写入的比率。如果它被 99% 读取(比如 Web 服务器场景),那么通过分离您的日志,您最终可能得不到任何好处。

另一个很少提及的可能问题是,如果您仅将单个数据库日志放在该主轴上,则将日志放在单独的主轴上只会为您提供顺序写入。如果您的服务器有 10 个活动数据库,那么将它们的所有日志放在同一个磁盘上不会为您提供顺序写入,它们将分布在不同的日志文件中。然后再次将它们放在 10 个单独的镜像驱动器上意味着您需要将 20 个驱动器专用于日志,这也可能是不可能的。在这种情况下,一个很好的解决方案是为您的日志文件使用 SSD 存储,当您发现您的环境没有顺序写入时,它在随机写入时的性能要好得多。