有人知道 PostgreSQL 在 VMWare 实例上与在真实机器上安装时的性能对比吗?有什么明显的区别吗?有什么建议吗?
答案1
取决于 CPU、RAM 和 HDD 速度/缓存/使用情况,就像其他一切一样。如果您为 VM 提供的资源较少而需求较高,它的性能当然会很差。提供足够的资源,它将维持自身,但是,峰值可能会将其推向极限。因此,提供足够的资源以满足您的标准需求,再加上一些额外的资源以处理其整个生命周期内的峰值。当然,您还必须为同一台机器上的其他 VM 分配更好的资源。
答案2
这确实取决于太多因素。虚拟机总是有一些处理开销,但这取决于以下因素:磁盘子系统内存处理器虚拟机超线程主机或裸机虚拟机管理程序?NIC?交换机负载?数据库负载?RAID?
真正的答案是,只有安装测试平台并在实际使用中尝试才能知道。
据传,一般来说,VMWare 不会对系统性能造成很大影响。如果您的硬件属于 HCL,我强烈建议您使用 ESXi(免费)来安装和测试数据库的测试平台安装并运行一些基准测试。其他任何事情都只是纯粹的猜测。
(注意...我建议使用 ESXi,因为它的开销较小,而且运行速度更快;不涉及“实际”操作系统开销,因为虚拟机管理程序是一个很小的 Linux 安装,只需 10 分钟即可启动并运行)
答案3
与往常一样,真正的答案与虚拟机的工作负载有关。但为了让您有个概念,在我的环境中,我们有几个运行 Postgres 的 Windows 2003 VM 用于测试/培训/QA(不要问我为什么他们决定在 Windows 上运行它)。这些 VM 只运行 Postgres,不运行其他任何程序,并且在开发人员/QA/受训人员整天使用它的情况下表现相当不错(全部使用 1 个 vCPU 和 1024MB RAM)。但是,我们的生产服务器是一个四核物理机箱,带有几 GB 的 RAM。当然利用率较低,但应用程序(仍在开发中)尚未上线,因此我们不知道就性能而言会有什么期望。