2016-06-21 7 views
0

Мне было интересно, сможет ли кто-нибудь получить npgsql-патч, работающий для ядра .net, как описано на этой странице http://fxjr.blogspot.com/2013/06/performance-improvements-when-creating.html. Для меня, когда я создаю Npgsql-соединения, он занимает около 1012 мс или составляет более 1 секунды для 10 000 подключений, что может быть проблемой, когда у вас много трафика. Патч, показанный на этой ссылке, работает так, что 10 000 соединений открыты в среднем по 35 мс. Это код, который я использовал в своем основном ядре .net.asp.net core npgsql connections

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, и он сделал 10 000 соединений в 39 мс.

+0

Этот патч является древним и определенно не будет применяться к современным версиям Npgsql ... Какую версию вы пытаетесь использовать, что делает 1012ms для 10000 соединений? –

+0

Я использую версию 3.13 NPGSQL и для .Net Core RC2 – user1591668

ответ

0

Да пластырь должно быть, были применены, я просто побежал тест с использованием .Net Ядро 1.1.0 и NPGSQL 3,19 на моем Mac и получил ответ

первого запуска: 34ms

2 бежать: 4ms

третьего запуска: 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"; 
}