0 postgresql performance union blob
我一直在试图弄清楚如何配置一个具有 64GB 内存(远大于数据库)的 PostgreSQL 实例,以及我是否应该选择更多内核或更快的内核。(假设通行证总数在 15- 20% 的差异)
一些额外的细节:最密集的 READ 将是通过大量 UNION 的 JSONB。本例中的操作系统是 CentOS 6。
您已经解决了读取繁重应用程序的关键瓶颈,即有足够的 RAM 用于缓存。只是确保你已经设置了适当的高值shared_bufferes,work_mem,maintenance_work_mem,和effective_cache_size你的内部postgresql.conf文件。
实际上,在这个 DBA.SE 线程中有一连串的好信息。
此外,这里是有关这些设置的Postgres 文档的链接,等等。
至于处理器的选择,重要的是要记住 Postgres 不能为每个数据库进程使用一个以上的 CPU。如果将有许多并发连接的用户,多核 CPU 可以将用户查询分散到内核之间,但不能在每个查询的基础上并行化。实际上,只有当有多个连接的用户时,您才能真正利用多核的优势。
我想,简而言之,如果您只有一个(或少数)用户,则更喜欢更快的内核,而如果您有许多并发用户,则可以从两者中受益。
请参阅此 DBA.SE 线程,其中涵盖了其中的一些信息。
如果您要同时拥有许多用户,我建议您也查看连接池。
| 归档时间: |
|
| 查看次数: |
7082 次 |
| 最近记录: |