我想知道是否有人能够使用.net核心的npgsql补丁工作,如本页http://fxjr.blogspot.com/2013/06/performance-improvements-when-creating.html所述。对于我来说,当我创建Npgsql连接时,对于10,000个连接大约需要1012ms或者超过1秒,这可能是您拥有大量流量时的问题。该链接上显示的补丁使其工作,以便在平均35毫秒内打开10,000个连接。这是我在.net核心应用程序中使用的代码。
var conn = "server=127.0.0.1;userid=postgres;database=modelcars;";
Stopwatch sw = Stopwatch.StartNew();
for (int i = 0; i < 10000; i++)
{
var conn = new NpgsqlConnection(conn);
}
sw.Stop();
我使用Sqlconnections进行了相同的测试,它在39ms内完成了10,000次连接。
答案 0 :(得分:0)
是必须应用补丁,我只是在我的Mac上使用.Net Core 1.1.0和NPGSQL 3.19运行测试并获得了
的响应第一轮: 34ms
第二轮: 4ms
第3次运行: 4ms
我使用的是Postgres 9.6,这是我的代码
public string Test()
{
var connectionString = "Database_Config";
Stopwatch sw = Stopwatch.StartNew();
for(int i=0; i<10000;i++) {
var conn = new NpgsqlConnection(connectionString);
}
sw.Stop();
var time_takes = sw.ElapsedMilliseconds;
return "hello";
}