我应该为 PostgreSQL(版本 13.x)设置多少连接?通过 CPU 内核?内存大小?我应该选择什么值?如何估计 PostgreSQL 的连接值?我应该这样估计吗?
(single_thread_memory) = thread_stack(256KB) + binlog_cache_size(32KB) + join_buffer_size(256KB) + sort_buffer_size(256KB) + read_buffer_size(128KB) + read_rnd_buffer_size(256KB)= 1MB
不幸的是,没有一个公式可以明确地确定
max_connections
设置应该是什么。应该考虑很多因素。例如:
max_connections
?pgbench
和/或使用特定于应用程序的测试,那么哪些查询、并发等揭示了核心限制、I/O 限制、网络限制等!?max_connections
可能感兴趣的替代方案:superuser_reserved_connections
关键/高优先级连接可用性。connection_limits
使用允许每个数据库、每个用户和每个 IP 连接限制的扩展(例如,用户贡献的模块,如)。关于您问题的其他方面,适用相同类型的分析;
work_mem
例如,应该根据正在执行的查询分配多少。考虑通读PostgreSQL:服务器管理:服务器配置:资源消耗。在调整 PostgreSQL 服务器时,几乎所有这些设置都值得考虑(就像整个PostgreSQL 中的设置一样:服务器管理:服务器配置。