Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Firebird, InterBase Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3 4   вперед  Ctrl      все
 ANN: видео о мифе эффективности параллельной вставки  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 28568
сделал видео.
В этом видео - тест параллельной вставки данных в одну таблицу. Теория и практика развеивают мифы. Сравнение серверов Firebird 2.5, 3.0, Classic, SuperClassic, SuperServer.

Тут если вставить ссылку на ютуб, она вроде ембеддится, ну и ладно. Вопросы?
15 мар 17, 14:50    [20298165]     Ответить | Цитировать Сообщить модератору
 Re: ANN: видео о мифе эффективности параллельной вставки  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 31033

Hello, Kdv!
You wrote on 15 марта 2017 г. 14:54:12:

Kdv
Вопросы?
Primary Key и вообще индексы есть?
(ютуб зарезан)

Posted via ActualForum NNTP Server 1.5

15 мар 17, 14:55    [20298204]     Ответить | Цитировать Сообщить модератору
 Re: ANN: видео о мифе эффективности параллельной вставки  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 28568
Мимопроходящий,

только ПК. таблица с целочисленными типами, запись 70-80 байт.
15 мар 17, 15:09    [20298286]     Ответить | Цитировать Сообщить модератору
 Re: ANN: видео о мифе эффективности параллельной вставки  [new]
Гаджимурадов Рустам
Member

Откуда:
Сообщений: 60869
Там на 15 минуте ошибка в тексте, AFAIU -
должно быть "отрыв от SC и CS".

Описание/код вставлятора есть где-то?

Posted via ActualForum NNTP Server 1.5

15 мар 17, 15:10    [20298296]     Ответить | Цитировать Сообщить модератору
 Re: ANN: видео о мифе эффективности параллельной вставки  [new]
Гаджимурадов Рустам
Member

Откуда:
Сообщений: 60869
Впрочем, досмотрел до конца,
тогда код не нужен, пожалуй. :)

Posted via ActualForum NNTP Server 1.5

15 мар 17, 15:11    [20298303]     Ответить | Цитировать Сообщить модератору
 Re: ANN: видео о мифе эффективности параллельной вставки  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 31033

Hello, Kdv!
You wrote on 15 марта 2017 г. 15:15:17:

Kdv
> только ПК
ну дык! сериализация ж никуда не делась.
проверь без него.

Posted via ActualForum NNTP Server 1.5

15 мар 17, 15:16    [20298335]     Ответить | Цитировать Сообщить модератору
 Re: ANN: видео о мифе эффективности параллельной вставки  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 28568
Гаджимурадов Рустам
Описание/код вставлятора есть где-то?

сгенерированы скрипты для вставки, потом "запускатор" стартует партию ISQL с этими скриптами.
Гаджимурадов Рустам
Там на 15 минуте ошибка в тексте, AFAIU -
должно быть "отрыв от SC и CS".

черт, да, конечно.
15 мар 17, 15:16    [20298338]     Ответить | Цитировать Сообщить модератору
 Re: ANN: видео о мифе эффективности параллельной вставки  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 28568
Мимопроходящий
ну дык! сериализация ж никуда не делась.
проверь без него.

без него будет то же самое, только побыстрее. Собственно, Ковязин еще в 2015 году делал отдельный тест влияния "коротких" и "больших" ПК на вставку, и на миллионе записей и целочисленным ПК разница где-то в 2.5 раза, причем деградации нет.
А вот на строковом индексе - деградация идет почти сразу, уже с десятков тысяч записей.

Тест, конечно, надо перепроводить на 3.0.2, и у меня была мысль проверить совсем без индексов. Но пока повтор теста на втором месте по важности.

Кроме того, hvlad сказал, что в отличие от всего остального SuperServer 3.0 будет пытаться искать другую свободную страницу, если наткнется на лок. Но я это обдумывал, и пришел к выводу, что нифига это не даст, кроме вероятной "фрагментированности" страниц (которую тоже надо будет проверить при повторении теста).
15 мар 17, 15:29    [20298448]     Ответить | Цитировать Сообщить модератору
 Re: ANN: видео о мифе эффективности параллельной вставки  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 10378
kdv,

а можно к этому видео, размещённом на ibase.ru приложить скрипты самого теста? Чтобы любой желающий мог попробовать у себя.
15 мар 17, 15:43    [20298538]     Ответить | Цитировать Сообщить модератору
 Re: ANN: видео о мифе эффективности параллельной вставки  [new]
hvlad
Member

Откуда:
Сообщений: 10765
kdv
Но я это обдумывал, и пришел к выводу, что нифига это не даст, кроме вероятной "фрагментированности" страниц (которую тоже надо будет проверить при повторении теста).
Плохо обдумывал
15 мар 17, 15:51    [20298588]     Ответить | Цитировать Сообщить модератору
 Re: ANN: видео о мифе эффективности параллельной вставки  [new]
Гаджимурадов Рустам
Member

Откуда:
Сообщений: 60869
hvlad> Плохо обдумывал

А что в 2.5 происходит при локе, ждёт или ищет другую?

Posted via ActualForum NNTP Server 1.5

15 мар 17, 16:00    [20298650]     Ответить | Цитировать Сообщить модератору
 Re: ANN: видео о мифе эффективности параллельной вставки  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 10378
Гаджимурадов Рустам,

дык в 2.5 страницы по другому выделяются - одна за одной. А в 3.0 может выделяться пачками (эсктентами)
15 мар 17, 16:01    [20298657]     Ответить | Цитировать Сообщить модератору
 Re: ANN: видео о мифе эффективности параллельной вставки  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 28568
Симонов Денис
приложить скрипты самого теста?

может быть. А может и нет, в силу специфики "обвязки" для запуска isql. В минимальном варианте можно проверить на 1 и двух коннектах:
- создать таблицу
- сгенерить в ней млн записей (хоть ибэкспертом)
- экспортнуть эти данные в текст, это будет скрипт1
- разрезать скрипт1 пополам, это будет скрипт2
- померять время на 1м isql и на двух запущеных хоть с интервалом в 1 сек.

это так, чтобы не ждать.
15 мар 17, 16:04    [20298674]     Ответить | Цитировать Сообщить модератору
 Re: ANN: видео о мифе эффективности параллельной вставки  [new]
hvlad
Member

Откуда:
Сообщений: 10765
Симонов Денис
дык в 2.5 страницы по другому выделяются - одна за одной. А в 3.0 может выделяться пачками (эсктентами)
Именно. И поиск свободного места\не залоченной страницы осуществляется в пределах текущего экстента.
Не самый эффективный алгоритм, тут есть что улучшать.
15 мар 17, 16:15    [20298737]     Ответить | Цитировать Сообщить модератору
 Re: ANN: видео о мифе эффективности параллельной вставки  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 49375

kdv
только ПК

В следующем тесте добавь один или два.

Posted via ActualForum NNTP Server 1.5

15 мар 17, 16:17    [20298754]     Ответить | Цитировать Сообщить модератору
 Re: ANN: видео о мифе эффективности параллельной вставки  [new]
o_v_a
Member

Откуда: Тула
Сообщений: 1105
Я на днях уж посмотрел. И, вроде, даже лайкнул. :)
15 мар 17, 16:31    [20298815]     Ответить | Цитировать Сообщить модератору
 Re: ANN: видео о мифе эффективности параллельной вставки  [new]
Romanzek
Member

Откуда: Red Soft
Сообщений: 85
kdv,
интересует:
1. Сервер однопроцессорный или нет?
2. Диски SSD или железка?

Можно ли получить ваш набор в виде, годном для запуска?
17 мар 17, 13:28    [20305691]     Ответить | Цитировать Сообщить модератору
 Re: ANN: видео о мифе эффективности параллельной вставки  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 28568
Romanzek
Сервер однопроцессорный или нет?

какая разница, интересно? Особенно если посмотреть на результаты 1, 2 и 4 коннектов. Ядер-то 12.
И, сейчас точно не могу сказать, но явно процессор один, 6-ядерные на серверах вроде не бывают.
Romanzek
Диски SSD или железка?

вроде RAID из SATA-дисков. Точно не SSD.

скрипты возможно дадим, но позже. Перепроверять на 3.0.2 будем.
Однако, мне интересно - что вы хотите получить перепроверкой теста у себя? То есть, вы хотите сравнить с приведенными результатами, или вы ожидаете, что результаты на разных архитектурах будут как-то сильно отличаться от наших результатов?
17 мар 17, 14:47    [20306169]     Ответить | Цитировать Сообщить модератору
 Re: ANN: видео о мифе эффективности параллельной вставки  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 31033

Hello, Kdv!
You wrote on 17 марта 2017 г. 14:57:23:

Kdv
> 6-ядерные на серверах вроде не бывают.
а для кого ж Intel 6-ядерные Xeon'ы клепает?

Posted via ActualForum NNTP Server 1.5

17 мар 17, 14:58    [20306241]     Ответить | Цитировать Сообщить модератору
 Re: ANN: видео о мифе эффективности параллельной вставки  [new]
Ivan_Pisarevsky
Member

Откуда: НН
Сообщений: 8493
kdv
6-ядерные на серверах вроде не бывают.
у нас пара таких в сервере.
17 мар 17, 15:02    [20306256]     Ответить | Цитировать Сообщить модератору
 Re: ANN: видео о мифе эффективности параллельной вставки  [new]
Romanzek
Member

Откуда: Red Soft
Сообщений: 85
kdv
Romanzek
Сервер однопроцессорный или нет?

какая разница, интересно? Особенно если посмотреть на результаты 1, 2 и 4 коннектов. Ядер-то 12.
И, сейчас точно не могу сказать, но явно процессор один, 6-ядерные на серверах вроде не бывают.

Разница может быть очень существенной. Так как CFS ;-)
Более того, там еще от модели процессора зависит поведение планировщика.
17 мар 17, 15:59    [20306578]     Ответить | Цитировать Сообщить модератору
 Re: ANN: видео о мифе эффективности параллельной вставки  [new]
Romanzek
Member

Откуда: Red Soft
Сообщений: 85
мы кстати тоже проводили подобные тесты. Но не с целью доказать, что производительность в нескольких потоках снижается - это мы и так понимаем. Наша цель была нащупать предел, после которого наступает серверный коллапс. То есть производительность падает до нуля (что и случалось у нас в продакшине). Но, к сожалению, синтетикой это нащупать оказалось крайне тяжело. Пришлось делать полноценный нагрузочный тест в приложении.
17 мар 17, 16:13    [20306630]     Ответить | Цитировать Сообщить модератору
 Re: ANN: видео о мифе эффективности параллельной вставки  [new]
Коваленко Дмитрий
Member

Откуда: Липецк
Сообщений: 559
kdv,

У меня c FB3 SS получилась немного другая картина.

6950X (10C:20T)/128GB/Win10.

FB 3.0.2.32692 x64 SuperServer.

DefaultDbCachePages = 200000
MaxUnflushedWrites = -1
MaxUnflushedWriteTime = -1

База на RAM диске. Страница 16KB. FW: OFF.

Тестовая таблица - 1 колонка (BIGINT, PK). Есть триггер.

Перед каждым запуском база приводится к исходному состоянию.

На момент проведения этих тестов FB уже накрутил 200 часов (User Time), но перегружать я его не буду.

Вставка 1 млн записей:
потоков  время(сек)
1 128
2 93
4 51
8 36
10 34
20 33

Вставка 10 млн записей (пробовал только один раз):

1 1306
2 640
4 391
8 319
10 315
20 313

+ Код теста на C#

using System;
using System.IO;
using System.Threading;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using structure_lib=lcpi.lib.structure;
using xdb=lcpi.data.oledb;

namespace Sample_024{
////////////////////////////////////////////////////////////////////////////////
//class Program

class Program
{
 public const string c_prog_arg__cn_str       = "cn_str";
 public const string c_prog_arg__thread_count = "thread_count";
 public const string c_prog_arg__rec_num      = "rec_num";
 public const string c_prog_arg__log_file     = "log_file";
 public const string c_prog_arg__summary_file = "summary_file";

 //-----------------------------------------------------------------------
 private static int Main()
 {
  int result = 0;

  try
  {
   result=Exec();
  }
  catch(Exception e)
  {
   ++result;
   Console.WriteLine("ERROR: {0}",e.Message);
  }//catch

  return result;
 }//Main

 //-----------------------------------------------------------------------
 private static int Exec()
 {
  int errCount=0;

  var cmdArgs = new structure_lib.t_command_line_parser('/');

  cmdArgs.reg_arg
   (c_prog_arg__cn_str,
    structure_lib.t_command_line_argument_flags.with_value);

  cmdArgs.reg_arg
   (c_prog_arg__thread_count,
    structure_lib.t_command_line_argument_flags.with_value);

  cmdArgs.reg_arg
   (c_prog_arg__rec_num,
    structure_lib.t_command_line_argument_flags.with_value);

  cmdArgs.reg_arg
   (c_prog_arg__log_file,
    structure_lib.t_command_line_argument_flags.with_value);

  cmdArgs.reg_arg
   (c_prog_arg__summary_file,
    structure_lib.t_command_line_argument_flags.with_value);

  //-----------------------------------
  cmdArgs.parse(Environment.CommandLine);

  //-----------------------------------
  string Arg_log_file
   =cmdArgs.get(c_prog_arg__log_file,true).Value;

  var log=new ProgramLog(Arg_log_file);
 
  try
  {
   log.Send("Hello from test!");

   //-----------------------------------
   var startupData=new StartupData(cmdArgs);

   log.Send("CommandLine: {0}",Environment.CommandLine);
   log.Send("Threads    : {0}",startupData.m_arg__thread_count);
   log.Send("Records    : {0}",startupData.m_arg__rec_num);

   //-----------------------------------
   log.Send("Try to connect to database ...");

   using(var cn=new xdb.OleDbConnection(startupData.m_arg__cn_str))
   {
    cn.Open();

    using(var tr=cn.BeginTransaction())
    {
     var cmd=new xdb.OleDbCommand("delete from TEST_SEQUENTIAL_MOVE",cn,tr);

     cmd.ExecuteNonQuery();
  
     tr.Commit();
    }//using tr

    log.Send("OK!");
   }//using cn

   //---------------------------------- create workers
   log.Send("Create workers ...");

   var workers=new ThreadWorker[startupData.m_arg__thread_count];
  
   {
    var generator=new GeneratorSeq(startupData);

    for(uint i=0;i!=startupData.m_arg__thread_count;++i)
     workers[i]=new ThreadWorker(startupData,i,generator);
   }//local

   //----------------------------------
   log.Send("Create threads ...");

   var threads=new System.Threading.Thread[startupData.m_arg__thread_count];
   
   DateTime startTS;

   try
   {
    for(uint i=0;i!=startupData.m_arg__thread_count;++i)
    {
     var t=new System.Threading.Thread(workers[i].Run);

     t.Start();

     workers[i].m_InitEvent.WaitOne();

     threads[i]=t;
    }//for i

    startTS=DateTime.Now;

    startupData.m_StartEvent.Set();
   }
   finally
   {
    for(uint i=0;i!=startupData.m_arg__thread_count;++i)
    {
     if(!Object.ReferenceEquals(threads[i],null))
     {
      log.Send("Wait thread {0}",i+1);

      threads[i].Join();

      if(!Object.ReferenceEquals(workers[i].m_exc,null))
      {
       ++errCount;

       log.Send("ERROR: {0} - {1}",workers[i].m_exc.Source,workers[i].m_exc.Message);
      }
     }//if
    }//for i
   }//finally

   var endTS=DateTime.Now;

   long duration=(long)(endTS-startTS).Duration().TotalSeconds;

   log.Send("Duration: {0} second(s).",duration);

   //----------------------------------
   {
    ulong n=0;

    for(uint i=0;i!=startupData.m_arg__thread_count;++i)
    {
     n+=workers[i].m_cRecords;

     log.Send("Thread [{0}]: {1:###} record(s)",i,workers[i].m_cRecords);
    }
   
    if(n!=(ulong)startupData.m_arg__rec_num)
    {
     throw new ApplicationException(string.Format("Wrong work. Inserted {0}. Expected {1}",
                                    n,
                                    startupData.m_arg__rec_num));
    }//if
   }//local
    
   //----------------------------------
   using(var sf=new StreamWriter(cmdArgs.get(c_prog_arg__summary_file,true).Value,true))
   {
    sf.WriteLine("{0}\t{1}\t{2}",
                 startupData.m_arg__rec_num,
                 startupData.m_arg__thread_count,
                 duration);

    sf.Close();
   }
  }
  finally
  {
   log.Close();
  }//finally

  return errCount;
 }//Exec
}//class Program

////////////////////////////////////////////////////////////////////////////////
//class ProgramLog

class ProgramLog
{
 public ProgramLog(string logFileName)
 {
  m_log_file=new StreamWriter(logFileName,false);
 }

 public void Send(string s,params object[] args)
 {
  string line=string.Format(s,args);

  line=Helper__BuildTS()+" "+line;

  Console.WriteLine("{0}",line);

  m_log_file.WriteLine("{0}",line);
 }//Send

 public void Close()
 {
  m_log_file.Close();
 }//Close

 private static string Helper__BuildTS()
 {
  var ts=DateTime.Now;

  return ts.ToString("[dd.mm.yyyy hh:mm:ss]");
 }

 private StreamWriter m_log_file;
};//class ProgramLog

////////////////////////////////////////////////////////////////////////////////
//class StartupData

class StartupData
{
 public readonly string m_arg__cn_str;
 public readonly uint   m_arg__thread_count;
 public readonly long   m_arg__rec_num;

 public readonly ManualResetEvent m_StartEvent;

 public StartupData(structure_lib.t_command_line_parser cmdArgs)
 {
  m_arg__cn_str=cmdArgs.get(Program.c_prog_arg__cn_str,true).Value;

  //-----------------------------------
  m_arg__thread_count
   =uint.Parse(cmdArgs.get(Program.c_prog_arg__thread_count,true).Value);

  if(m_arg__thread_count==0)
   throw new ApplicationException("Incorrect number of threads");

  //-----------------------------------
  m_arg__rec_num
   =long.Parse(cmdArgs.get(Program.c_prog_arg__rec_num,true).Value);
 
  if(m_arg__rec_num<=m_arg__thread_count)
   throw new ApplicationException("Incorrect number of records");

  //-----------------------------------
  m_StartEvent=new ManualResetEvent(false);
 }//StartupData

 //------------------------------------
 public bool GenNum(out long v)
 {
  v=Interlocked.Increment(ref m_rec_num);

  if(m_arg__rec_num<v)
   return false;

  return true;
 }//GenNum
   
 //------------------------------------
 private long m_rec_num=0;
};//class StartupData

////////////////////////////////////////////////////////////////////////////////
//interface Generator

interface Generator
{
 bool Gen(out long v);
};//interface Generator

 ////////////////////////////////////////////////////////////////////////////////
//class GeneratorSeq

class GeneratorSeq:Generator
{
 public GeneratorSeq(StartupData startupData)
 {
  m_StartupData=startupData;
 }

 //interface -------------------------------------------------------------
 public bool Gen(out long v)
 {
  return m_StartupData.GenNum(out v);
 }//Gen

 private readonly StartupData m_StartupData;
};//class GeneratorSeq

////////////////////////////////////////////////////////////////////////////////
//class ThreadWorker

class ThreadWorker
{
 public Exception m_exc=null;

 public readonly StartupData m_StartupData;

 public readonly Generator m_Generator;

 public readonly ManualResetEvent m_InitEvent;

 public readonly uint m_ThreadIndex;

 public ulong m_cRecords=0;

 public ThreadWorker(StartupData startupData,
                     uint        index,
                     Generator   generator)
 {
  m_StartupData=startupData;

  m_Generator=generator;

  m_InitEvent=new ManualResetEvent(false);

  m_ThreadIndex=index;
 }//ThreadWorker

 public void Run()
 {
  try
  {
   using(var cn=new xdb.OleDbConnection(m_StartupData.m_arg__cn_str))
   {
    cn.Open();

    using(var tr=cn.BeginTransaction())
    {
     using(var cmd=new xdb.OleDbCommand(null,cn,tr))
     {
      cmd.CommandText=
       "insert into TEST_SEQUENTIAL_MOVE (ID) values(:id)";

      cmd.Prepare();

      m_InitEvent.Set();

      m_StartupData.m_StartEvent.WaitOne(); //infinite!

      long v;
  
      while(m_Generator.Gen(out v))
      {
       cmd[0].Value=v;

       cmd.ExecuteNonQuery();

       ++m_cRecords;
      }//while
     }//using cmd
     tr.Commit();
    }//using tr
   }//using cn
  }
  catch(Exception e)
  {
   m_exc=e;
  }//catch
 }//Run
};//class ThreadWorker

////////////////////////////////////////////////////////////////////////////////
}//namespace Sample_024


+ run1.bat - запуск теста

copy /Y d:\Database\FB_03_0_0\__clear\IBP_TEST_FB30_D3.GDB d:\Database\ram\IBP_TEST_FB30_D3.GDB

bin\vs2017_net46.2_Release\Sample_024.exe /cn_str "provider=LCPI.IBProvider.3;location=localhost:d:\database\ram\ibp_test_fb30_d3.gdb;user id=GAMER;password=vermut;dbclient_type=fb.direct" /thread_count %1 /rec_num %2 /log_file _logs\result_%1_%2.log /summary_file _logs\summary.log

+ run.bat - запуск группы тестов

call run1.bat 1  %1
call run1.bat 2 %1
call run1.bat 4 %1
call run1.bat 8 %1
call run1.bat 10 %1
call run1.bat 20 %1

+ Лог запуска для 10млн записей и 8 потоков


[17.09.2017 04:09:48] Hello from test!
[17.09.2017 04:09:48] CommandLine: bin\vs2017_net46.2_Release\Sample_024.exe /cn_str "provider=LCPI.IBProvider.3;location=localhost:d:\database\ram\ibp_test_fb30_d3.gdb;user id=GAMER;password=vermut;dbclient_type=fb.direct" /thread_count 8 /rec_num 10000000 /log_file _logs\result_8_10000000.log /summary_file _logs\summary.log
[17.09.2017 04:09:48] Threads : 8
[17.09.2017 04:09:48] Records : 10000000
[17.09.2017 04:09:48] Try to connect to database ...
[17.09.2017 04:09:48] OK!
[17.09.2017 04:09:48] Create workers ...
[17.09.2017 04:09:48] Create threads ...
[17.09.2017 04:09:49] Wait thread 1
[17.15.2017 04:15:08] Wait thread 2
[17.15.2017 04:15:08] Wait thread 3
[17.15.2017 04:15:08] Wait thread 4
[17.15.2017 04:15:08] Wait thread 5
[17.15.2017 04:15:08] Wait thread 6
[17.15.2017 04:15:08] Wait thread 7
[17.15.2017 04:15:08] Wait thread 8
[17.15.2017 04:15:08] Duration: 319 second(s).
[17.15.2017 04:15:08] Thread [0]: 1113156 record(s)
[17.15.2017 04:15:08] Thread [1]: 1147915 record(s)
[17.15.2017 04:15:08] Thread [2]: 1183818 record(s)
[17.15.2017 04:15:08] Thread [3]: 1222949 record(s)
[17.15.2017 04:15:08] Thread [4]: 1263065 record(s)
[17.15.2017 04:15:08] Thread [5]: 1305448 record(s)
[17.15.2017 04:15:08] Thread [6]: 1353977 record(s)
[17.15.2017 04:15:08] Thread [7]: 1409672 record(s)

Возможно что-то здесь не так.

Но у меня нагрузочное тестирование в 4 потока идет ~16 часов. А в 8 потоков - ~10 часов. Тесты разные, но большая часть параллельно работает с одними и теми же таблицами.

В 4 потока можно запускать сразу два экземпляра тестов (для разных баз данных) - те же 16 часов. Плюс минус.

Естественно - нагрузочные тесты тоже на RAM-диске.

Так что цифры вышеприведенного теста вроде адекватные.
17 мар 17, 16:36    [20306743]     Ответить | Цитировать Сообщить модератору
 Re: ANN: видео о мифе эффективности параллельной вставки  [new]
Romanzek
Member

Откуда: Red Soft
Сообщений: 85
Коваленко Дмитрий,

Интересные результаты, спасибо
Будем теперь с нетерпением ждать релиза нашей тройки :)
17 мар 17, 17:04    [20306885]     Ответить | Цитировать Сообщить модератору
 Re: ANN: видео о мифе эффективности параллельной вставки  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 31033

Hello, Romanzek!
You wrote on 17 марта 2017 г. 17:07:05:

Romanzek
> Будем теперь с нетерпением ждать релиза нашей тройки :)
обо что речь?
какой тройки?

Posted via ActualForum NNTP Server 1.5

17 мар 17, 17:07    [20306901]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3 4   вперед  Ctrl      все
Все форумы / Firebird, InterBase Ответить