试图弄清楚我应该如何期望我的数据库执行。基本上,我需要确定我设置的服务器何时达到其性能极限——这将帮助我更好地规划服务器扩展。
这个问题更多地针对我可以计算或估计(真的,任何想法都会很好)预期性能的方式。理想情况下,这应该可以帮助我想出一个可以基于多个因素(如记录大小、行数等)运行的公式,而不是基于特定服务器/数据库的主观假设。
那么,确定 PostgreSQL 服务器预期性能的好方法是什么?
非常感谢!
试图弄清楚我应该如何期望我的数据库执行。基本上,我需要确定我设置的服务器何时达到其性能极限——这将帮助我更好地规划服务器扩展。
这个问题更多地针对我可以计算或估计(真的,任何想法都会很好)预期性能的方式。理想情况下,这应该可以帮助我想出一个可以基于多个因素(如记录大小、行数等)运行的公式,而不是基于特定服务器/数据库的主观假设。
那么,确定 PostgreSQL 服务器预期性能的好方法是什么?
非常感谢!
我认为确定预期性能比规划容量要困难得多。我的猜测是,这就是您真正想要做的,所以我将在这里重温我认为是 OLTP 工作负载最重要的规则。
如果可能,您希望工作数据集适合内存。在不是这种情况下计算性能取决于磁盘被访问的频率和磁盘 I/O 的类型。如果你不能把它全部装进内存,至少你应该尽量把最常用的数据,以及所有常用的索引都装进内存。
您希望每两个并发查询至少有一个核心可用。每个并发查询一个核心更好。
这两个计算起来有点棘手,它们取决于行大小、表中的页数、表中的死元组数,而这又部分取决于并发更新的数量。
除此之外,性能将缓慢下降,希望是优雅的。在满足或不满足这些条件时评估性能非常困难,因为它是非常具体的。