O_O*_*O_O 11 postgresql database scalability
在这篇计算机世界文章中,它指定 PostgreSQL 可以扩展到 64 核的限制。这是否意味着一个 64 核的多核处理器?还是内核更少的多个处理器?
我问的原因是因为我试图找出 PostgreSQL 可以扩展到多少处理器,但当然这可能仅限于处理器的类型。但是,我一直在其他数据库中找到其他统计数据(即 Microsoft SQL Server在这里声明它可以扩展到 320 个逻辑处理器),并且他们没有指定它们的核心数。这是一个非常模糊的统计数据吗?
任何想法将不胜感激。谢谢!
vor*_*aq7 13
Postgres 可以扩展到您想要安装的任意数量的处理器,并且您的操作系统可以有效地处理/管理。您可以在 128 核机器(甚至是具有 128 个物理处理器的机器)上安装 Postgres,它会正常工作。如果操作系统调度程序可以处理那么多核,它甚至可能比在 64 核机器上工作得更好。
Postgres的已经显示出扩展 线性多达64个内核(带警告:我们正在谈论的读取性能,在特定的配置(磁盘,内存,操作系统等) -罗伯特·哈斯有一个漂亮的图的博客文章,其我在下面转载:

只要Number of Clients小于或等于Number of Cores,这种关系就是线性的(或几乎是线性的),然后开始看起来性能大致呈对数线性下降,因为客户端连接数比您多做内核来运行 Postgres 后端,因为后端开始争夺 CPU(平均负载超过 1.0,等等......)。
虽然它仅针对最多 64 个内核进行了演示,但您可以概括地说,您可以不断添加内核(和客户端)并不断提高性能,直至达到某些其他子系统(磁盘、内存、网络)的限制,其中进程不再有 CPU 争用问题,而是在等待其他事情。
(Haas 还有另一篇文章,他们证明了 32 核的线性可扩展性,其中有一些关于一般可扩展性的很好的参考资料——强烈推荐背景阅读!)
不,这是一个非常精确的统计数据。“逻辑处理器”是一个核心。核心就是这样,它们如何分布在物理处理器上并不重要。
而且,如果您正在处理内核数超过支持数量的机器,那么这对于 PostgreSQL 来说应该不是问题。每个连接本质上都是单线程*,因此无论您拥有多少内核,都会限制并发连接的效率和功效。
不用说,这也意味着您应该将资金投入到比核心数量更快的核心上,除非您想以更复杂的方法对事物进行聚类。
* 2017 更新:某些查询(或子查询)可能会并行执行。
| 归档时间: |
|
| 查看次数: |
10480 次 |
| 最近记录: |