池中理想的连接数是多少?

What is desirable number of connections in a pool?

假设我们有一个客户端想要并行发送 N 个查询和一个单节点数据库服务器。服务器有 4 CPU 个核心和网络设备到 receive/send 数据。 这是否意味着没有理由与服务器建立 4 个以上的并行连接,因为它只能并行接收 4 个“流”数据?甚至不谈磁盘 i/o 等...

说到网络,在物理层面上没有并行性,所以我们没有因为这个层面上的并行连接而获得收益,对吗?

客户端连接池中理想的连接数是多少?应该考虑什么?也许有一些关于这个主题的文章?

编辑:如果我们针对延迟而非吞吐量进行优化

我认为您最终需要衡量,这也取决于您查询的性质,但 HikariCP 有一篇关于连接池大小调整的好文章:https://github.com/brettwooldridge/HikariCP/wiki/About-Pool-Sizing

You should test your application, i.e. simulate expected load, and try different pool settings around this starting point: connections = ((core_count * 2) + effective_spindle_count)