在Kubernetes中使用巨大页面提升PostgreSQL性能

在Kubernetes中使用巨大页面提升PostgreSQL性能

💡 原文英文,约1500词,阅读约需6分钟。
📝

内容提要

在Kubernetes中使用巨大页面可以提高PostgreSQL的性能,但在受管的Kubernetes服务中设置可能较困难。建议使用2MB的巨大页面,并通过修改.spec.instances.resources.limits来启用。使用kubectl检查可用的巨大页面数量,并确保在postmaster内存映射中使用。不要将巨大页面设置为shared_buffers的确切值。对于低负载的工作负载,使用默认的4KB页面也可以。

🎯

关键要点

  • 在Kubernetes中使用巨大页面可以提高PostgreSQL的性能。
  • 建议使用2MB的巨大页面,设置相对简单。
  • Kubernetes工作节点需要配置GRUB_CMDLINE_LINUX或sysctl vm.nr_hugepages=N。
  • 使用kubectl检查可用的巨大页面数量。
  • PostgreSQL默认配置为使用巨大页面,但Kubernetes需要先允许它。
  • 修改.spec.instances.resources.limits以启用巨大页面。
  • 不要将巨大页面设置为shared_buffers的确切值。
  • 对于低负载工作负载,使用默认的4KB页面也可以。
  • 在公共云中,巨大页面不支持开箱即用。
  • 如果巨大页面分配失败,可能会导致数据库崩溃。
  • 需要保留大于shared_buffers的巨大页面数量,并通过pg_shmem_allocations验证估算。
➡️

继续阅读