在多并发测试中,遇到如此异常,后台查看postgresql的连接数远远没有达到postgresql的max_connections,DB日志记录是incomplete startup packet 。
经排查,原来在并发的一个函数中,启动了一个pg的连接,而且此函数网络的并发都会调用,导致了pg的连接已达到了上限,npgsql的socket连接超时无法接入新的socket,修改此函数。在此mark下。
Failed to establish a connection to '127.0.0.1'.
捕捉到 Npgsql.NpgsqlException
Message="Failed to establish a connection to '127.0.0.1'."
Source="Npgsql"
ErrorCode=-2147467259
BaseMessage="Failed to establish a connection to '127.0.0.1'."
Code=""
Detail=""
ErrorSql=""
File=""
Hint=""
Line=""
Position=""
Routine=""
Severity=""
Where=""
StackTrace:
在 Npgsql.NpgsqlClosedState.Open(NpgsqlConnector context)
在 Npgsql.NpgsqlConnector.Open()
在 Npgsql.NpgsqlConnectorPool.GetPooledConnector(NpgsqlConnection Connection)
在 Npgsql.NpgsqlConnectorPool.RequestPooledConnectorInternal(NpgsqlConnection Connection)
在 Npgsql.NpgsqlConnectorPool.RequestPooledConnector(NpgsqlConnection Connection)
在 Npgsql.NpgsqlConnectorPool.RequestConnector(NpgsqlConnection Connection)
在 Npgsql.NpgsqlConnection.Open()