asp.net核心npgsql连接

时间:2016-06-21 22:39:49

标签: asp.net asp.net-core npgsql

我想知道是否有人能够使用.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次连接。

1 个答案:

答案 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";
}