NodeJS 访问 Oracle DB getConnection() 阻塞,浏览器消息在几个小时后出现 "server does not respond "

NodeJS accessing Oracle DB getConnection() blocking, browser the message appears "server does not respond " after a few hours

我们正在使用 https://github.com/oracle/node-oracledb to connect to Oracle DB with nodejs, oracle client library 18.0. Everything works fine till a few hours later, the browser shows "Server does not respond". It is quite similar to the issue at https://github.com/oracle/node-oracledb/issues/725,其中 getConnection() 发生阻塞。我们尝试了 poolPingIntervalSetting,但没有用。任何的想法?

最常见的问题是没有足够的线程。请参阅 https://oracle.github.io/node-oracledb/doc/api.html#numberofthreads 如果池由于负载而增长但您没有足够的线程,您可能会锁定。

然后确保您的应用程序将连接释放回池中,包括在错误情况下。使用 pool._logStats() 并查看是否存在连接泄漏。

查看有关连接池最佳实践的 node-oracledb 文档 https://oracle.github.io/node-oracledb/doc/api.html#conpoolsizing

查看网络问题并确保防火墙等没有终止会话。在 GitHub 上打开一个问题以进一步解决这个问题。