database - 如何计算数据库连接池的大小?

标签 database connection-pooling

假设我预计每秒大约有 100 个请求,每个请求应该花费 1 到 3 秒之间的任何时间(在完美世界中)。

我会创建一个包含 300 个连接的池吗?或者稍高一些以补偿潜在的峰值?

最佳答案

这取决于到达事件的分布。 Queuing theory可以给你一个公式(对于给定的分布)你需要多少连接,这样失败的概率(在你的情况下没有空闲连接)将不超过一定百分比。

你可能想看看these notes (第 17 页)它给了你一些公式,比如你有 n 个请求同时被服务的概率或者你有一个非空队列(你想避免的状态)

关于database - 如何计算数据库连接池的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1800340/

相关文章:

mysql - 如何在数据库中组织漫画书位置信息?

java - 使用 Hibernate 配置 c3p0 属性 initialPoolSize 和 maxStatements

oracle - WSO2 Identity Server - 自定义 JDBC 用户存储管理器 - JDBC 池

java - JDBC 连接池是单例的吗?

java - 尽管正确关闭资源,MYSQL 获取数据的连接仍然过多

javascript - 将表名设置为 Web 数据库的变量?

database - 寻找基于磁盘的类似redis的数据库

mysql - 选择顶部错误

mysql - 我应该避免数据库中出现重复条目​​吗?

java - 在 Glassfish 中创建连接池