Skip to content

Низкая производительность при передачи сообщений между базами Postgres #23

@nagorsky

Description

@nagorsky

Возможно я некорректно настраиваю, но на моей среде крайне низкая производительность при переносе 5 сообщений из одной СУБД на postgres в другую СУБД на postgres

Содержимое скрипта перекладчика привожу ниже.
Запускаю скрипт D:\DaJet-host>dajet.exe ./scripts/new_script.djs
Версия DaJet 3.13.0

В итоге 5 сообщений переносится примерно 50 секунд. Причем по ощущениям время тратиться именно на подключение к СУБД, а не на сам INSERT. Можно ли это как-то отладить ?

Прикладываю видео с воспроизведением проблемы - https://disk.yandex.ru/i/VMMCcQjowy801g

DECLARE @message object
DECLARE @record object
DECLARE @counter number = 0

PRINT 'Start streaming'


	-- База данных источник
	USE 'pgsql://postgres:ddddd0@localhost:5432/1C_UMC_MIGR?mdex'

	STREAM TOP 5
          ИдентификаторСтрокой, МоментВремени, ТелоСообщения
     INTO @record
	 FROM РегистрСведений.DaJet_ИсходящаяОчередь
     ORDER BY МоментВремени ASC

   PRINT JSON(@record)
   PRINT @record.ТелоСообщения
   SET @counter = @counter + 1
   
   -- База данных приёмник
   USE 'pgsql://postgres:Dddddd@10.10.0.21:5432/Trade11_PreProd?mdex'

   INSERT РегистрСведений.DaJet_ВходящаяОчередь
      SELECT 
            НомерСообщения = VECTOR('so_dajet_sequence_in')
           , ТелоСообщения      = @record.ТелоСообщения
		   , Заголовки = @counter
           , ОбластьДанныхОсновныеДанные	= 0.0

   END -- Контекст базы данных приёмника
   
  
   PRINT 'Streamed ' + @counter + ' records'
	
END -- Контекст базы данных источника


PRINT 'After END'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions