在高负载服务器被“连接池已用完,阻止MaxPoolSize或超时”

时间:2016-08-06 09:40:51

标签: c# postgresql nhibernate connection-pooling npgsql

我将NHibernate与Npgsql 3.1.5.0一起使用,当高负载测试时,有时服务器完全被此异常阻止。 Threads

降级到postgresql 9.4.4之后,它会在更高的负载下发生但仍然可以重现。

我还重新检查了所有NHibernate会话和事务是否正确处理,因此没有打开任何连接。

一段时间后,我打开了0个会话,但仍然“连接池已用尽”。奇怪的是我无法在我的开发机器上重现它(仅限于生产 - Windows Server 2008 R2)。

pgAdmin - 服务器状态实际上显示那些无效的140个连接(和20个额外连接)(query = commit或empty,state = idle)。

可能导致什么?

0 个答案:

没有答案