今天在做Firebird V3.0.3  x64 版本内存测试,本地PC上,准备开启800个事务(保持不关闭),每个事务做些事,尽量不释放内存。

每次测试当事务数达到时,就提示Connection pool is full,此时内存才吃到500+MB。

在系统配置里没有一个选项是最大连接数,最后发现是在连接字符串里,有个选项是 MaxPoolSize 。

令 MaxPoolSize =  ,程序敞开跑,最后后台进程用到 5GB多,PC内存不够了。

以下是连接字符串:

 FbConnectionStringBuilder connBuilder = new FbConnectionStringBuilder();
connBuilder.DataSource = "localhost";
connBuilder.UserID = "sysdba";
connBuilder.Password = "";
connBuilder.Database = "x";
connBuilder.Charset = "utf8";
connBuilder.ServerType = FbServerType.Default;
connBuilder.Dialect = ;
connBuilder.MaxPoolSize = ;
connBuilder.Pooling = true;
_connStr = connBuilder.ConnectionString;

测试程序:

     for (int i = ; i < ; i++)
{
var db = DbCtxt.NewDbContext().UseTransaction(true);
for (int j = ; j < ; j++)
{
db.Insert("m_user").Column("code", "")
.Column("label", "ABCDEFGHIJ")
.Column("pwd", "").Column("is_del", false).Execute();
}
}

测试结束清理连接池: FirebirdSql.Data.FirebirdClient.FbConnection.ClearAllPools(); 只会清理池子里暂时不用的连接,正在使用的连接会被打标记,等连接使用完关闭时,自动清理掉。

内存占用:

2、如果用32位的版本,内存最多吃到1928MB就不行了,提示“无法从操作系统分配内存”  unable to allocate memory from operating system

Note:一个连接connection,最多只能有65000个handler(本文例子 大概就是插入行数),否则就会抛异常: too many open handles to database 。

所以在做测试时,一定不要用using,他会自动把连接释放到连接池,下次再次申请连接时,又会申请到此连接,就会提示太多句柄被申请。

Firebird Connection pool is full的更多相关文章

  1. Cannot get a connection, pool exhausted解决办法

    http://blog.163.com/it_message/blog/static/8892051200908102032653/ 连接池(Tomcat+oracle),运行一段时间后就会出现 Ca ...

  2. tomcat异常: Cannot get a connection, pool exhausted

    1 问题描述Web程序在tomcat刚开始运行时速度很快,但过一段时间后发现速度变得很慢. 检查日志输出,发现异常如下:org.apache.commons.dbcp.SQLNestedExcepti ...

  3. Database Connection Pool Library | Libzdb

    Database Connection Pool Library | Libzdb A small, easy to use Open Source Database Connection Pool ...

  4. java.lang.IllegalStateException: Connection pool shut down

    最近使用HttpClient 4.5 使用 CloseableHttpClient 发起连接后,使用CloseableHttpResponse 接受返回结果,结果就报错了,上网查了下,有位stacko ...

  5. 连接池(Connection Pool)技术

    解释: 连接池(Connection Pool)技术的核心思想是:连接复用,通过建立一个数据库连接池以及一套连接使用.分配.管理策略,使得该连接池中的连接可以得到高效.安全的复用,避免了数据库连接频繁 ...

  6. jdbc、Connection pool、jndi的理解和关系

    一.概念和理解: ①.jdbc:Java Data Base Connectivity,java数据库连接,最为传统的一种方式,直接连接操作数据库,需要连接时创建连接,使用结束时销毁连接. ②.Con ...

  7. Android开发中使用数据库时出现java.lang.IllegalStateException: Cannot perform this operation because the connection pool has been closed.

    最近在开发一个 App 的时候用到了数据库,可是在使用数据库的时候就出现了一些问题,在我查询表中的一些信息时出现了一下问题: Caused by: java.lang.IllegalStateExce ...

  8. connection pool exhausted

    1.发现问题 生产环境发现有一些redis报错日志 connection pool exhausted.如果redis中没有数据 就直接回源 查DB.暂时不会有什么大问题.中文意思是连接池耗尽. 2. ...

  9. Can not find connection pool config file

    暂时未解决 checkActivation=====================true Can Not Parse ConnectionCfg! 2019/10/12-11:23:38 > ...

随机推荐

  1. SQLServer客户端连接工具(支持2000,20005,2008)

    绿色版本, 体积小(不到2M), 支持数据库版本2000 2005 2008 界面仿最经典的SQLServer2000: 下载地址:http://download.csdn.net/detail/gg ...

  2. 2018.11-2019.1的随记|NOIP的考后随记

    就是日记吧?(这里就是写一些乱七八糟的东西qwq,当作自己的零散想念吧 1.24 今天跟着BLUESKY他们的视频一起领略了一下远在广州的CCF冬令营开幕式,看着ljh的拍的照片也体验了一下RM冬令营 ...

  3. jQuery阻止默认行为

      <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF- ...

  4. 代理服务器和NAT技术

    一.代理服务器 所谓“代理”,就是代而劳之的意思.代理服务器就是代理网络用户去取得网络信息,形象的说:它是网络信息的中转站,使得一个网络终端和另一个网络终端不直接进行相连,代理网络用户去取得信息.主要 ...

  5. redis 3.0 集群__监控警报工具(sentinel)

    参考文档 http://redis.readthedocs.org/en/latest/topic/sentinel.html 因为目前还处于开发阶段,就先不研究了,待续

  6. vue-cli中的webpack打包配置

    如下: assetsSubDirectory: 'static', assetsPublicPath: '/projectName/', 其中assetsSubDirectory是代表服务器上的实际路 ...

  7. HTML5 Canvas核心技术 图形、动画与游戏开发学习总结

    save 和 restore 函数的应用 保存canvas和恢复canvas clip函数的应用 文字的绘制 背景图片的绘制 离屏canvas 基于时间的运动

  8. 2019年华南理工大学程序设计竞赛(春季赛) K Parco_Love_String(后缀自动机)找两个串的相同字串有多少

    https://ac.nowcoder.com/acm/contest/625/K 题意: 给出Q 个询问 i , 求 s[0..i-1] 与 s[i...len-1] 有多少相同的字串 分析: 给出 ...

  9. bzoj 4032(A的一个最短的子串,它不是B的子串 || A的一个最短的子串,它不是B的子序列 || A的一个最短的子序列,它不是B的子串||A的一个最短的子序列,它不是B的子序列)

    在虐各种最长公共子串.子序列的题虐的不耐烦了之后,你决定反其道而行之. 一个串的“子串”指的是它的连续的一段,例如bcd是abcdef的子串,但bde不是. 一个串的“子序列”指的是它的可以不连续的一 ...

  10. 6. Javscript学习笔记——BOM

    6. BOM 6.1 widow对象 全局作用域: window是浏览器的一个实例 window对象同时扮演着ECMAScript中的Global对象的角色,因此所有在全局作用域中声明的变量.函数都会 ...