确定我对 PostgreSQL 服务器的期望性能的好方法是什么?

Jua*_*oto 6 postgresql performance database-design

试图弄清楚我应该如何期望我的数据库执行。基本上,我需要确定我设置的服务器何时达到其性能限制 - 这将帮助我更好地规划服务器扩展。

这个问题更多地针对我可以计算或估计(实际上,任何想法都很好)预期性能的方法。理想情况下,这应该可以帮助我想出一个可以基于多个因素(如记录大小、行数等)运行的公式,而不是基于特定服务器/数据库的主观假设。

那么,确定 PostgreSQL 服务器的预期性能的好方法是什么?

非常感谢!

Chr*_*ers 3

我认为确定预期性能比规划容量要困难得多。我的猜测是,这就是您真正想要做的事情,因此我将在此处介绍我认为 OLTP 工作负载最重要的规则。

  1. 如果可能的话,您希望工作数据集适合内存。如果情况并非如此,则计算性能取决于磁盘被命中的频率以及磁盘 I/O 的类型。如果你不能将所有数据都放入内存中,至少你应该尝试将最常用的数据以及所有常用的索引放入内存中。

  2. 您希望每两个并发查询至少有一个可用核心。更好的是每个并发查询一个核心。

这两者的计算都有点棘手,它们取决于行大小、表中的页数、表中死元组的数量,而这又部分取决于并发更新的数量。

除此之外,性能会慢慢下降,但愿是缓慢下降。在满足或不满足这些条件时评估性能非常困难,因为它是非常具体的。