powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Вопрос по производительности репликации с Sql на DB2.
16 сообщений из 16, страница 1 из 1
Вопрос по производительности репликации с Sql на DB2.
    #37385397
K.T.V.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеем: репликацию транзакций с SQL Server 2008 на DB2 10 под z/os. При небольшом объеме записей в таблицах все проходит прекрасно. Начиная примерно со ста тысяч записей уже идет нереально долго. При этом в самом начале репликации записи переносятся быстро, но потом все сильно замедляется. А нужно перенести таблицу, в которой более 10 миллионов записей...
Самые простые варианты, как поменять параметры агентов уже применяли - помогает несильно. Что еще можно попробовать?
...
Рейтинг: 0 / 0
Вопрос по производительности репликации с Sql на DB2.
    #37385976
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Эта тема касается и DB2, и MS SQL, так что, чем просто переносить эту в подраздел http://www.sql.ru/forum/actualtopics.aspx?bid=1, имеет смысл держать темы и там, и тут.

Что касается "посоветовать", с мэйнфреймовой DB2 я незнаком, но соображения общего характера напрашиваются. Очевидно, надо совместно с администратором DB2 искать "бутылочное горлышко". Если оно на стороне DB2 (а похоже на то), то на форуме по MS SQL искать решение бессмысленно. Интересно также, чьими средствами осуществляется репликация - MS SQL или DB2. Скажем, при первичной настройке репликации DB2 UDB может воспользоваться LOAD (и, наверное, мэйнфреймовая DB2 тоже), что многократно быстрее обычной вставки. (Ну, если потом будут транзакции по 10 миллионов записей, это другое дело).
...
Рейтинг: 0 / 0
Вопрос по производительности репликации с Sql на DB2.
    #37386317
Фотография Andron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы не стал сразу валить все на db2 или ms sql, а проверил бы еще например сеть, помониторить ее например можно на предмет задержек и пропускной способности.
Если рассматривать базу, то процесс вставки могут тормозить индексы, есть ли они в таблицах куда заливаются данные?
Мб при чтении данных из ms sql процесс чтения натыкается на блокировки (если у него модель блокировочная) и ждет?
...
Рейтинг: 0 / 0
Вопрос по производительности репликации с Sql на DB2.
    #37386374
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, ни на сетку, ни на блокировки это, на первый взгляд, не похоже. Первичные ключи, наверное, есть. А может, и нет. На каком этапе настройки, как происходит репликация a la MS SQL, неизвестно. Описание проблемы очень бедное и скудное.

С другой стороны, раз есть z/os, (по моему представлению) там просто обязан быть админ, который может посмотреть и помониторить на стороне DB2, что, собственно, происходит.
...
Рейтинг: 0 / 0
Вопрос по производительности репликации с Sql на DB2.
    #37386377
K.T.V.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я понимаю, что на форуме по MS SQL мне могут посоветовать только настройки на стороне SQL. Но вдруг они как-то смогут разрешить проблему, почему не попробовать?
Репликация проводится как раз таки средствами sql'ного сервера.
Общие рекомендации по увеличению производительности репликаций мы читали, сеть проверяли, индексы убивали. Спасибо, но это все не помогает. Насчет блокировок - делаем на тестовой базе на таблице, которая больше нигде не используется.
Внутри sql'ных серверов даже очень большие репликации проходят быстро. Вставка аналогичного объема данных скриптом в таблицу на DB2 тоже проходит с нормальной скоростью. Вопрос действительно в том, как найти пресловутое "бутылочное горлышко".
...
Рейтинг: 0 / 0
Вопрос по производительности репликации с Sql на DB2.
    #37386556
mitek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
K.T.V.Имеем: репликацию транзакций с SQL Server 2008 на DB2 10 под z/os. При небольшом объеме записей в таблицах все проходит прекрасно. Начиная примерно со ста тысяч записей уже идет нереально долго. При этом в самом начале репликации записи переносятся быстро, но потом все сильно замедляется. А нужно перенести таблицу, в которой более 10 миллионов записей...
Самые простые варианты, как поменять параметры агентов уже применяли - помогает несильно. Что еще можно попробовать?

Какой DB2-драйвер используете для коннекта к DB2/zOS ? ODBC? OLEDB? .Net provider ?
Тормозит одинаково при всех трех ?
Если заливать SSIS-пакетом, то также тормозит ?

Вам нужна именно потранзакционная репликация MSSQL -> DB2/zOS или периодические загрузки полных таблиц ?

Если мне маразм не изменяет, то у DB2/zOS в DDF была/есть возможность приоретизации DDF-тредов (удаленных коннектов). Нужно проконсультироваться с админом DB2/zOS насчет возможных perfomance-лимитов по DDF-тредам.

P.S. В свое время у меня помнится подобные же проблемы на больших таблицах были с MSSQL2000 <-> DB2 z/OS V7 через DB2 Connect + ODBC
...
Рейтинг: 0 / 0
Вопрос по производительности репликации с Sql на DB2.
    #37387377
K.T.V.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Большое спасибо всем за поддержку!
Первичный ключ есть.
На DB2, судя по всему, данные вставляются блоками по 1000 записей, хотя все возможные настройки касательно этого на sql'е мы меняли. Не можем понять, в чем беда.
Драйвер, при помощи которого выполняется подключение - Microsoft OLE DB For Db2. Практически не имеет собственных настроек. Остальные драйверы не удалось подключить к репликации. Есть ли в сети какая-то информация на этот счет?
Репликация нужна потранзакционная.
Не очень хорошо понимаю смысл использования SSIS, если нам нужна именно репликация? Возможно ли выполнить первоначальную загрузку через него, а потом настроить репликацию на уже заполненную таблицу?
Насчет приоритета DDF-тредов - да, вариант, попробуем найти.
mitek, как Вы решили свою проблему?
...
Рейтинг: 0 / 0
Вопрос по производительности репликации с Sql на DB2.
    #37387511
mitek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
K.T.V.Драйвер, при помощи которого выполняется подключение - Microsoft OLE DB For Db2. Практически не имеет собственных настроек. Остальные драйверы не удалось подключить к репликации. Есть ли в сети какая-то информация на этот счет?

Готовых линков нет. Нужно плотно гуглить.
K.T.V.Репликация нужна потранзакционная.
Не очень хорошо понимаю смысл использования SSIS, если нам нужна именно репликация? Возможно ли выполнить первоначальную загрузку через него, а потом настроить репликацию на уже заполненную таблицу?
SSIS имел ввиду как вариант тестирования производительности большой загрузки.
По особенностям репликации MSSQL здесь подскажут наврядли, но вот тут пишут, что :

Administrators can move data from SQL Server to DB2 by using Replication wizards in SQL Server Management Studio, as part of either snapshot or transactional replication operations. For Replication, SQL Server uses linked servers for connectivity and Integration Services for synchronizing data with DB2
K.T.V.mitek, как Вы решили свою проблему?
Мне не нужна была репликация, поэтому настроил federation gateway на DB2/LUW и импортил через никнеймы (аналог linked servers)
...
Рейтинг: 0 / 0
Вопрос по производительности репликации с Sql на DB2.
    #37388178
Фотография Hunterik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
K.T.V., если все-таки тормоза на стороне zDB2,
можете попробовать посмотреть в эту сторону:
OUTBUFF , аналог LOGBUFSZ для LUW, как я понимаю... Если это так, на больших вставках может хорошо рулить...
How DB2 writes the active log...
Плюс ко всему - попробуйте помониторить bufferpool-ы zDB2.
-DISPLAY BUFFERPOOL (DB2)
По поводу блоков вставки на zDB2 есть ограничение - вроде бы 32768 записей в одном блоке, 1000 ваша явно меньше...
Как пришли ко мнению, что K.T.V.На DB2, судя по всему, данные вставляются блоками по 1000 записей?
...
Рейтинг: 0 / 0
Вопрос по производительности репликации с Sql на DB2.
    #37388179
Фотография Hunterik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ещё можете через RMF и/или SDSF -> da посмотреть активности вроде загрузки каналов (io), процессоров...
Если будет чуток яснее во что упираетесь - может стать примерно понятно куда смотреть...
Опять же через SDSF -> LOG можно на вскидку глянуть, как часто DB2 логи выгружает (OFFLOAD) - active to archived.
...
Рейтинг: 0 / 0
Вопрос по производительности репликации с Sql на DB2.
    #37388387
K.T.V.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hunterik, ищем :)
про 1000 записей - вероятно, он коммитит их по штуке строк, потому что периодически выполняемый count выдает нам приращение в количестве, кратном 1000.
Администратор DB2 говорит, что там с настройками все ok, активность загрузки он мониторил, все остальное тоже или делал или сейчас сделает. Вполне вероятно, что проблема таки в драйвере :( которому сложно найти альтернативу в виду отсутствия документации.
Конечно, у нас остается вариант отказа от репликации в пользу очередей, linked серверов или банального load'a, но это будет не совсем то, чего требовалось достичь.
...
Рейтинг: 0 / 0
Вопрос по производительности репликации с Sql на DB2.
    #37388649
K.T.V.,

1. Желательно на провайдере включить трассировку выполнения. Чтобы видеть какие запросы уходят на DB2 и какие ответы приходят. Может помочь понять логику и время исполнения отдельных запросов. Как это включается - не знаю, не специалист по MSSQL.

2. Можно попробовать настроить "родного" провайдера(ов) DB2, которые идут в составе с клиентом DB2. Разрядность (32бит, 64бит) клиента DB2 должна совпадать с разрядностью MS SQL сервера, насколько мне известно.
Репликация использует Linked Server? Если да, то по поводу возможных проблем есть материал здесь: Cannot create an instance of OLE DB provider "IBMDADB2" for linked server

3. Можно настроить репликацию средствами IBM, т.е. IBM InfoSphere Replication Server. Это правда отдельная тема.
...
Рейтинг: 0 / 0
Вопрос по производительности репликации с Sql на DB2.
    #37389801
K.T.V.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Настроили монитор производительности на провайдере и обнаружили очень странную картину: со временем на нем резко уменьшается количество операций execute в секунду. Причем время ответа не меняется, падает именно частота выполнения. С чем это может быть связано?
Трассировку выполнения пока настроить не удалось.
Евгений, а что Вы можете подсказать по настройке DB2'шного провайдера? Мы раньше пробовали один раз, создавали строку подключения, но неудачно.
Касательно 3го пункта - InfoSphere штука дорогая, проще уж самим додолбаться :)
...
Рейтинг: 0 / 0
Вопрос по производительности репликации с Sql на DB2.
    #37390376
const64
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
K.T.V.,

Вот здесь можно посмотреть строки подключения, только у Вас z/os, и неизвестно подойдут они или нет...
...
Рейтинг: 0 / 0
Вопрос по производительности репликации с Sql на DB2.
    #37390605
K.T.V.Евгений, а что Вы можете подсказать по настройке DB2'шного провайдера? Мы раньше пробовали один раз, создавали строку подключения, но неудачно.
Linked Server 100% можно настроить, а чтобы помочь нужны подробности какие параметры задавали, какую ошибку(и) получили, т.к. "возможны варианты".
...
Рейтинг: 0 / 0
Вопрос по производительности репликации с Sql на DB2.
    #37391540
K.T.V.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
const64, спасибо, ссылка полезная! Только вот у нас вроде даже работает linked server через IBM'овский драйвер, но репликация к нему никак не хочет подключаться.
Евгений, вот настройки для линка (для наглядности убрала все операторы GO):
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
EXEC master.dbo.sp_addlinkedserver @server = N'Test_Link', @srvproduct=N'IBMDADB2.DB2COPY1', @provider=N'IBMDADB2.DB2COPY1', @datasrc=N'FRS'
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'Test_Link',@useself=N'False',@locallogin=NULL,@rmtuser=N'myUsername',@rmtpassword='myPassword'
EXEC master.dbo.sp_serveroption @server=N'Test_Link', @optname=N'collation compatible', @optvalue=N'false'
EXEC master.dbo.sp_serveroption @server=N'Test_Link', @optname=N'data access', @optvalue=N'true'
EXEC master.dbo.sp_serveroption @server=N'Test_Link', @optname=N'dist', @optvalue=N'false'
EXEC master.dbo.sp_serveroption @server=N'Test_Link', @optname=N'pub', @optvalue=N'false'
EXEC master.dbo.sp_serveroption @server=N'Test_Link', @optname=N'rpc', @optvalue=N'false'
EXEC master.dbo.sp_serveroption @server=N'Test_Link', @optname=N'rpc out', @optvalue=N'false'
EXEC master.dbo.sp_serveroption @server=N'Test_Link', @optname=N'sub', @optvalue=N'false'
EXEC master.dbo.sp_serveroption @server=N'Test_Link', @optname=N'connect timeout', @optvalue=N'0'
EXEC master.dbo.sp_serveroption @server=N'Test_Link', @optname=N'collation name', @optvalue=null
EXEC master.dbo.sp_serveroption @server=N'Test_Link', @optname=N'lazy schema validation', @optvalue=N'false'
EXEC master.dbo.sp_serveroption @server=N'Test_Link', @optname=N'query timeout', @optvalue=N'0'
EXEC master.dbo.sp_serveroption @server=N'Test_Link', @optname=N'use remote collation', @optvalue=N'true'
EXEC master.dbo.sp_serveroption @server=N'Test_Link', @optname=N'remote proc transaction promotion', @optvalue=N'true'
Вот строка подключения подписчика:
Код: plaintext
exec sp_addpushsubscription_agent @publication = N'My_Publication', @subscriber = N'Test_Link', @subscriber_db = N'(default destination)', @job_login = null, @job_password = null, @subscriber_security_mode =  0 , @subscriber_login = N'myUsername', @subscriber_password = null, @subscriber_provider = N'IBMDADB2.DB2COPY1', @subscriber_datasrc = N'Test_Link', @subscriber_provider_string = N'Server=myAddress:myPortNumber;Database=myDataBase;UID=myUsername;PWD=myPassword;', @frequency_type =  64 , @frequency_interval =  0 , @frequency_relative_interval =  0 , @frequency_recurrence_factor =  0 , @frequency_subday =  0 , @frequency_subday_interval =  0 , @active_start_time_of_day =  0 , @active_end_time_of_day =  235959 , @active_start_date =  20110627 , @active_end_date =  99991231 , @enabled_for_syncmgr = N'False', @dts_package_location = N'Distributor'
Параметры строки подключения меняли по-разному, результат один: при попытке инициализации публикации выдает "The process could not connect to Subscriber DB2".
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Вопрос по производительности репликации с Sql на DB2.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]