首页 > 其他 > 详细

Firebird Connection pool is full

时间:2018-07-06 22:03:55      阅读:186      评论:0      收藏:0      [点我收藏+]

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

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

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

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

以下是连接字符串:

 1 FbConnectionStringBuilder connBuilder = new FbConnectionStringBuilder();
 2 connBuilder.DataSource = "localhost";
 3 connBuilder.UserID = "sysdba";
 4 connBuilder.Password = "123456";
 5 connBuilder.Database = "x";
 6 connBuilder.Charset = "utf8";
 7 connBuilder.ServerType = FbServerType.Default;
 8 connBuilder.Dialect = 3;
 9 connBuilder.MaxPoolSize = 1000;
10 connBuilder.Pooling = true;
11 _connStr = connBuilder.ConnectionString;

测试程序:

 1     for (int i = 0; i < 800; i++)
 2     {
 3         var db = DbCtxt.NewDbContext().UseTransaction(true);
 4         for (int j = 0; j < 500; j++)
 5         {
 6             db.Insert("m_user").Column("code", "1234567890")
 7                 .Column("label", "ABCDEFGHIJ")
 8                 .Column("pwd", "1234").Column("is_del", false).Execute();
 9         }
10     }

内存占用:

技术分享图片

 

Firebird Connection pool is full

原文:https://www.cnblogs.com/jonney-wang/p/9275617.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!