spring-data-r2dbc - Difference between io.r2dbc.pool.PoolingConnectionFactoryProvider.MAX_SIZE vs ConnectionPoolConfiguration max size in r2dbc
问题描述
I am trying to understand the difference between 2 configurable parameters while creating a connection pool using r2dbc-pool.
I was able to configure the connection pool with the help of the below post: Connection pool size with postgres r2dbc-pool
But wanted to understand the difference while configuring max size and initial size while creating
ConnectionFactory connectionFactory = ConnectionFactories.get(ConnectionFactoryOptions.builder() .option(DRIVER, "pool") .option(PROTOCOL, "postgresql") .option(HOST, host) .option(USER, user) .option(PASSWORD, password) .option(MAX_SIZE, 30) .option(INITIAL_SIZE, 10) .option(DATABASE, database) .build());
ConnectionPoolConfiguration configuration = ConnectionPoolConfiguration.builder(connectionFactory) .maxIdleTime(Duration.ofMinutes(30)) .initialSize(initialSize) .maxSize(maxSize) .initialSize(20) .maxCreateConnectionTime(Duration.ofSeconds(1)) .build();
解决方案
真的没有区别,这些只是创建连接池的不同方式。
初始大小是应用程序启动后打开的数据库连接数。
您可以使用以下查询进行检查:
select * from pg_stat_activity;
您将看到您指定为初始大小的确切数字。
最大大小是可以同时打开的最大连接数(您不能直接控制它,底层池实现将缩放打开的连接数以更高的负载)
推荐阅读
- laravel - Laravel 5.8 中的 Laravel Collective 下拉到 mysql
- node.js - 无法使 socket.io 在 HTTPS 连接上工作
- ios - iOS 图表未显示所有 xAxis 值
- dart - 颤振升级后Listtile前导内容不再匹配父级
- python - 遍历 df 并使用值列表输出字典
- php - 如何更改 XAMPP 报告 PHP 错误的格式(在 HTML 中)?
- javascript - 如何解决“无效的正则表达式:/?/:Nothing to repeat”问题
- yelp - 获取 Yelp 融合 API 的 URL
- django - 当前路径在 Django 中不匹配
- javascript - JavaScript date.now() / 自 1970/01/01 以来的毫秒数可能是多少