问题标签 [connection-pool]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
107 浏览

ruby - ConnectionPool 和 ConnectionPool::Wrapper 之间的 Ruby mperham/connection_pool 区别

在以下https://github.com/mperham/connection_pool,任何人都可以指导我 ConnectionPool 和 ConnectionPool::Wrapper 有什么区别?在什么情况下应该使用 ConnectionPool::Wrapper ?如果它们相似,每种方法的优缺点?我发现通过阅读文档很难理解https://github.com/mperham/connection_pool

0 投票
1 回答
3842 浏览

oracle - 如何在独立(战争)和嵌入式 Tomcat 中为 Spring-Boot 应用程序配置数据源?

我有一个带有以下内容的 Spring-Boot-Aplication dependencyManagement

以及以下内容dependencies

Tomcat上,我将JNDI-Datasource配置为:

.properties-file 中,我添加了以下属性:

由于Spring-Boot能够从属性配置DataSource,我让它这样做并且我没有为DataSource编写额外的代码。部署在独立的 Tomcat中,它可以完美运行。

从逻辑上讲, Spring Boot嵌入式 Tomcat中找不到JNDI 资源,并将应用程序作为Spring-Boot-Application 启动我得到:

我希望能够将应用程序作为Spring-Boot-Application 启动,并构建一个可以部署在任何Standalone Tomcat中的war文件。

properties如果应用程序作为Spring-Boot-Application 启动或者我必须有第二个.properties文件,这是否可以通过添加第二个 DataSource 来实现?

0 投票
1 回答
259 浏览

mongodb - MongoDB中的连接池与jongo

我想为 MongoDB 使用连接池。我已经将 MongoDB 与 Jongo 和 Spring MVC 框架一起使用。

这是我用于 MongoDB 配置的 spring xml 代码,它工作正常。

我需要配置一个连接池。任何人都可以指导,如何使用现有代码实现 MongoDB 连接池?

0 投票
1 回答
1417 浏览

google-app-engine - 使用 Google App Engine 和 Google Cloud SQL 的连接池

关于在 Google App Engine 中使用数据库连接池有很多问题,但最近发生了很多变化。到目前为止,我永远无法获得与 GAE 一起使用的连接池。但是,我认为最近的一些开发可能允许连接池工作,这可能是谷歌文档中提到它的原因(最近似乎已经更新)。

https://cloud.google.com/sql/docs/mysql/connect-app-engine

有人可以确认可以使用连接池吗?

1) 我们使用了 Google Cloud SQL 第一代,数据库可能会停用(进入睡眠状态)。这将使任何现有的连接陈旧。

使用第二代数据库,不会停用数据库。所以这可能会解决问题。

2) 许多连接池实现使用线程。

随着 GAE 支持 Java 8,看起来允许使用线程。

3)有人认为GAE有限的数据库连接数(12)是使用连接池的一个理由。连接池大小可以设置为 GAE 的限制,因此应用程序永远不会超过限制。

a) 首先,根据数据库的大小,文档表明连接的数量要大得多。

https://cloud.google.com/sql/docs/quotas

b) 其次,如果 GAE 应用程序有限制,是每个服务器实例的限制还是整个 GAE 应用程序的限制?

任何确认上述想法是有道理的都将不胜感激。

0 投票
1 回答
469 浏览

java - 如何在 Amazon-ECS 实例之间共享连接池

我在 Amazon-ECS 上运行了 spring-boot 应用程序。使用 ECS 动态添加应用程序实例。现在每个应用程序都有 HikariCP 用于连接池。所以当我增加实例时,每个实例上的连接池不共享,这会导致问题。我该如何处理这个问题?

到目前为止,我已经尝试创建将处理连接池和查询的中间层,但这又是另一个瓶颈,我该如何扩大这个瓶颈?另一部分是使用 JNDI,这与以前的解决方案有些相似。或者调整每个集群上连接池的大小,但是当实例增加或减少时,我也希望调整这个大小。

老实说,我不知道人们如何在集群环境中处理连接池。可以做些什么来共享连接池,或者问题是应该完全共享&如果是这种情况,如何限制连接数,这样实例就不会饿死。

0 投票
1 回答
192 浏览

firebird - Firebird 嵌入式连接池是否毫无意义?

我正在使用为数据库嵌入的 firebird 3 创建应用程序服务器。连接池通常会加快进行一次事务并断开连接的短连接的速度。但这是否也适用于在连接时没有进行身份验证和网络事件的嵌入式 firebird?

0 投票
2 回答
688 浏览

java - postgresql(设置角色用户)命令如何在 SSM 项目中使用?

现在项目使用的是springmvc+spring+mybatis+druid+postgresql 项目中的用户对应数据库中的用户,所以每次运行SQL都要用(set role user)命令切换用户,然后执行crud数据库的操作。

我的问题:因为连接池中有很多连接,所以第一步是获取数据库的连接,然后切换用户,然后对数据库进行业务SQL的操作。但是我不知道这个逻辑应该处理到项目的哪个部分,因为连接池的连接和SQL的执行都是由底层代码实现的。你有什么好的计划吗?能不能给我一个完整的demo,比如下面的操作:

第一步,从spring security(或shiro)获取用户名。

第二步,从连接池中获取当前使用数据库的连接。

第三步,执行SQL(set role user)切换角色。

第四步,执行crud操作。

第五步,重置数据库连接(重置角色)

0 投票
1 回答
1744 浏览

java - java中的连接池允许通过jdbc url获取连接?

我试图找到允许通过 jdbc url 获取连接但失败的连接池。Hikari 连接池不允许这样做,c3po 中的情况相同。我的用例是:

有人知道java世界中的这种连接池吗?

0 投票
1 回答
224 浏览

sql-server - 连接池可以同时为多个事务提供相同的连接吗?

在 Web API 应用程序中,我们将存储库模式与 SQL 服务器一起使用。我们得到以下连接错误,

  1. 已经有一个与此命令关联的打开的 DataReader,必须先关闭它。
  2. 无效操作。连接已关闭。
  3. ExecuteReader 需要一个打开且可用的连接。连接的当前状态是正在连接。

是否有可能在连接池中共享连接?

我们同时打开多个连接

0 投票
1 回答
2198 浏览

java - 如何在单个 JDBC 连接中执行多个 JPA 查询

在 Spring-boot 应用程序中,我将 JPA 与 Hibernate 一起使用。

我有一个自定义选择查询方法,其中在 JPA 存储库中定义了参数化的 IN 子句。由于数据量很大,我正在执行多次相同的查询,并将小批量的 ID 作为参数传递。但我无法提高性能。

大约有 200000 条记录,所用时间为 1 分钟。这是非常巨大的。

以下是我累的事情

  1. 只选择所需的列,而不是整个 POJO -> 确实将查询时间减少了 8 秒
  2. 当我分析 Hibernate 静态数据时:以下是找到的日志:

    (获取 1 个 JDBC 连接花费了 382016470 纳秒;释放 0 个 JDBC 连接花费了 0 纳秒;准备 1 个 JDBC 语句花费了 798909958 纳秒;执行 1 个 JDBC 语句花费了 305523944 纳秒;执行 0 个 JDBC 批处理花费了 0 纳秒;执行 0 个 L2C 放置花费了 0 纳秒;0执行 0 个 L2C 命中所花费的纳秒;执行 0 个 L2C 未命中所花费的 0 纳秒;执行 0 个刷新(总共刷新 0 个实体和 0 个集合)所花费的 0 纳秒;执行 0 个部分刷新(总共刷新 0 个实体和 0集合)

即使使用 Hikari 连接池也需要时间来创建 JDBC 连接。以下是光属性

  1. 并为每个 jpa 查询建立 JDBC 连接,做好准备。即使设置了以下属性

    spring.datasource.hikari.data-source-properties.cachePrepStmts=true spring.datasource.hikari.data-source-properties.useServerPrepStmts=true

我保持 IN 子句的参数数量不变

代码片段网

我想提高性能,欢迎提出任何建议。

有什么方法可以避免 JDBC 查询准备时间或 JDBC 连接获取时间?