【问题标题】:PostgreSQL on RamDisk: Size of work_mem etc.?RamDisk 上的 PostgreSQL:work_mem 的大小等?
【发布时间】:2011-02-07 17:59:45
【问题描述】:

我正在尝试在 Windows 的 ramdisk 上运行 PostgreSQL。我这样做的方法是简单地将数据目录放在 ramdisk 上。

在没有进行任何特定基准测试的情况下,性能似乎非常出色,并且仅受 CPU 限制。我的问题是 work_mem、shared_buffers 等的最佳值是多少?

即使数据库在 ram 中,运行我的许多查询也需要半分钟以上。因此,我想知道在表上创建索引是否有意义。当然,索引需要保留在 ram 中。我应该提到我正在将 PostgreSQL 用于数据仓库(虽然很小)。

编辑:我应该提到我正在使用来自 DataRam.com 的 RamDisk 实用程序。当我配置 ramdisk 时,它只会偶尔给我一个蓝屏,而不是在它建立时。我认为这是怀旧的眼睛糖果。 ;)

【问题讨论】:

    标签: database postgresql rdbms ramdisk database-performance


    【解决方案1】:

    我肯定会创建索引。引擎可以使用包含的信息进行各种优化,它应该会大大提高你的性能。 RamDisk 解决了最坏的表扫描类型的情况,但这并不一定意味着表扫描比正确查找更快。

    【讨论】:

      【解决方案2】:

      是的,使用索引,但 work_mem 仍然取决于机器本身的大小。当然,您想要高 work_mem 的原因之一是您不必敲击磁盘来进行磁带排序。在 ramdisk 上,这几乎没有那么危险。请记住,您在 ram 磁盘上没有数据完整性。

      【讨论】:

      • 那么,我可以将您的答案解释为我可以将 work_mem 设置为 0,因为击中 ramdisk 并不重要。数据完整性是指我可以在重新启动时丢失所有数据,或者 ramdisk 上的数据在某些情况下实际上可能是错误的,最后的解释对我来说是一个问题。
      • 我知道这是一个老问题,但不会有一些进程因为 work_mem 太少而崩溃吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-12
      • 1970-01-01
      • 1970-01-01
      • 2013-07-25
      • 1970-01-01
      • 2020-04-23
      相关资源
      最近更新 更多