今天在做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. C#winform自定义滚动条

    1.控件 一个UserControl作为ScrollBg,一个panel作为ScrollBar 2.实现功能 (1)设置滚动条背景颜色和背景图片 (2)设置滚动条滑块的背景颜色和背景图片 (3)鼠标左 ...

  2. 修复已损坏的交换机IMG

    1.找出与当前交换机匹配的升级镜像以及合适的BOOT启动程序(这要通过渠道获取) 2.搭建 TFTP 服务器. 3.启动交换机,链接console线缆 4.在 BOOT 模式,完成一下操作 1.配置I ...

  3. Flask 发布 1.0 稳定版

    简评:现在都开始版本大跃进了吗?对,别看别人,说的就是你 pipenv(名单太长,待补齐...) Flask 其实早就已经十分稳定了,而在第一个 commit 大概 8 年之后,版本号才最终反映出了这 ...

  4. uC/OS-II 函数之内存管理相关函数

    上文主要介绍了邮箱管理相关的函数,本文介绍内存管理相关的函数:OSMemCreate()内存块创建函数,OSMemGet()函数,OSMemPut()函数,OSMemQuery()函数.以前用过的uC ...

  5. fdisk命令总结

    fdisk - Partition table manipulator for Linux 一.通过fdisk -l 查看机器所挂硬盘个数及分区情况: fdisk 能划分磁盘成为若干个区,同时也能为每 ...

  6. 海思的一个 Makefile 解析

    Makefile 原文 include ../Makefile.param #ifeq ($(SAMPLE_PARAM_FILE), ) # SAMPLE_PARAM_FILE:=../Makefil ...

  7. TP5.0学习历程(1)

    验证码的使用 控制器代码如下: $captcha = new \think\captcha\Captcha();         if (!$captcha->check($data['code ...

  8. [CoffeeScript]使用Yield功能

    CoffeeScript 1.9 开始提供了类似ES6的yield关键字. 自己结合co和bluebird做了个试验. co -- http://npmjs.org/package/co  -- fo ...

  9. Angular material mat-icon 资源参考_Social

    ul,li>ol { margin-bottom: 0 } dt { font-weight: 700 } dd { margin: 0 1.5em 1.5em } img { height: ...

  10. Pycharm+QTDesigner+PyQt5环境配置

    python+PyQt5写界面很方便,记录下个人配置环境过程.... 安装软件: pycharm2017 Qt5.9.6 python3.6.6/python2.7.15 配置PyQt5: pytho ...