powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / DPF load balancing
25 сообщений из 33, страница 1 из 2
DPF load balancing
    #33376253
Avalanche
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Установлен 8.2.2 DPF на 4 узла кластера RHEL3 по одному инстансу на каждом узле, создана partitioned database на 4 этих инстанса. С внешней виндовой машины пускаю тесты с помощью Quest Benchmark Factory. Проблема в том, что все соединения идут на один узел (тот, который был выбран при CATALOG TCPIP NODE и CATALOG DATABASE) и полностью его загружают, другие узлы отдают/пишут партиционированные данные, но не принимают нагрузки сессий.

Вопрос: как грамотно осуществлять балансировку нагрузки сессий по узлам кластера? Как объяснить клиенту что это одна и та же база на всех 4-х узлах?

Решения linux load balancing вида аппаратного балансера, balance, Linux Virtual Server, RedHat Cluster Suite не предлагать - пробовал уже, медленно и не то, все идет через один порт на одной машине.
Решения типа Query Patroller, Information Integrator, Edge Server пока для меня выглядят горой софта, абсолютно лишнего для решения такой простой задачи.
Смотрел DB2 Connect, но показалось, что сетевые команды одинаковы, и ему объяснить тоже невозможно, что это одна и та же база.
Видел решение для балансинга явы, использующей partitioned database, но это тоже не то.
...
Рейтинг: 0 / 0
DPF load balancing
    #33376392
nkulikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Первый вопрос зачем? Что тебя не устраивает в текущей ситуации?

Почитай про BCU
Balanced Configuration Unit
- документ пока публично доступен для AIX'a
Для Linux есть внутренний в IBM, который можно получить на уловиях NDA
и в январе феврале будет доступен для Linux

В кратце. Нода Каталога не должна шерстить данные, они должны быть на остальных узлах. Вообщем Catalog Note + Query Patroller -> выступают как access manager.
Но там рассматриваются и другие вопросы.


Если не секрет что у тебя где проект??? Можно помочь внутренними документами докуменатми IBM.

P.S. Пиши на Nikolay_Kulikov@ru.ibm.com
...
Рейтинг: 0 / 0
DPF load balancing
    #33376456
Avalanche
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Очевидно, что в текущей ситуации меня не устраивает, что 3 из 4-х узлов простаивают. В общем случае это будет для (N-1) из N узлов, что вообще не представляется разумным применением DPF.
Связи между BCU и лоад балансингом при использовании DPF не вижу.
Вообще странно, что не предлагается прямолинейных решений, только какие-то самострои вида balance ,
Connection Router for DB2 Partitioned Database или вообще ничего не предлагается.
...
Рейтинг: 0 / 0
DPF load balancing
    #33376600
nkulikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Узлы простаивыют не потому что у тебя нет Load Balancing. У тебя layout неправильный.

У тебя OLTP или DW что за задача, ты не ответил на воспрос???

db2 select * from syscat.nodegroups
db2 select * from syscat.tablespaces
...
Рейтинг: 0 / 0
DPF load balancing
    #33376792
Avalanche
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тест TPC-B, устаревший, но для моих целей подходящий, т.е. OLTP, но другие просто не попробовал т.к. с этим косяк.
IBMDEFAULTGROUP на четырех (всех) партишнах (по одному на каждом узле), USERSPACE1 находится в IBMDEFAULTGROUP, таблицы партиционированы и находятся в USERSPACE1:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
db2 => select distinct dbpartitionnum(aid) from b_accounts

 1 
-----------
           0 
           1 
           2 
           3 

   4  record(s) selected.
Что такое nkulikovlayout?
...
Рейтинг: 0 / 0
DPF load balancing
    #33377198
nkulikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Расположение табличных пространств на дисках.
...
Рейтинг: 0 / 0
DPF load balancing
    #33377463
Avalanche
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nkulikovРасположение табличных пространств на дисках я вроде написал.
Мне ребята после конференции как раз говорили обратиться к Куликову или Савранскому.
...
Рейтинг: 0 / 0
DPF load balancing
    #33377471
nkulikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
layout == расположние табличных постранств на дисках
...
Рейтинг: 0 / 0
DPF load balancing
    #33377532
Avalanche
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что нужно написать по расположнию табличных постранств на дисках, что поможет мне решить вопрос балансинга?
Поскольку я являюсь сотрудником к компании, подписавшей NDA, то это не должно быть проблемой. Подробности могу отправить письмом.
...
Рейтинг: 0 / 0
DPF load balancing
    #33377582
nkulikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
давай письмом.
...
Рейтинг: 0 / 0
DPF load balancing
    #33377835
Avalanche
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пока советовались со специалистами по правильной концепции распределения пользователей по узлам еще раз вспомнили про DNS: регистрируя адрес, например db2.mydomain.com c IP1, IP2, IP3, IP4, выдаваемыми клиентам в round-robin манере, можно получить практически ровное распределение соединений по узлам.
Поднятого DNS в сегменте сети кластера не было, но, вспомнив о том, что нагрузка идет с одной виндовой машины и подключения можно производить через некоторые интервалы времени, написали скриптик, меняющий winnt\system32\drivers\etc\hosts каждые 5 секунд и таким образом каждое новое подключение приводящий на другой узел.
Было получено почти ровное распределение сессий по узлам, но также был получен интересный результат: разница в среднем TPS по результатам теста при использовании balance (все сессии получают данные через один порт лоад-балансера) и рукописного балансинга (все сессии получают данные напрямую от узлов) составила всего 5%, что вполне можно списать на накладные расходы проколбашивания пакетов через порт балансера.
Наиболее шокирующим стал то факт, что среднее TPS для теста, когда все сессии идут на один узел кластера, лучше TPS теста, когда все сессии идут поровну на все узлы, в 11 раз (69.63 против 5.98). Именно эта разница заставила ранее усомниться в целесообразности применения linux load balancing: казалось, что производительность падает уж очень сильно, что связывали с накладными расходами прхождения всего трафика сессий через один порт балансера. Предвосхищая гвалт на тему "нельзя маленький OLTP на DPF" будем пробовать другие тесты, дойдет дело и до баз побольше, и запросов "похранилищней". Теперь мы убедились, что можно спокойно пользоваться балансером, настраивать DNS, чтобы убрать 5%, и гонять тесты в нынешней конфигурации, не монстря альтернативных решений.
Замечу, что взвешенного ответа на вопрос о балансинге нагрузки клиентских подключений для DPF я так и не услышал, а жаль, вопрос интересный, но, как я понимаю, самим ИБМом прямо не решенный.
...
Рейтинг: 0 / 0
DPF load balancing
    #33378333
nkulikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кстати какая у вас версия DB2?

DPF на данный момент решение больше ориентированное для DW чем для OLTP.
Почему у вас получилась такая разница. По идее tpc-a/b/c можно хорошо разложить по узлам. Все таки я думаю что layout не верный и это есть причина простоев. У тебя приходит запрос на узел, на котором нет данных => у тебя есть дополнительное взаимодействие между узлами кластера, что и просаживает производительность в 11 раз.

У вас будет WebSphere Application Server или вы планируете использовать что-то другое. Пока не вижу конкретики. Что делаем, на чем делаем (приложение средство разработки и среда исполнения)
...
Рейтинг: 0 / 0
DPF load balancing
    #33378583
Avalanche
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У нас Enterprise.
Приведенные цифры следует конечно воспринять критически - это только первые результаты, сам пока не верю, были итерации тестов с достойным средним TPS, как получилось - будем смотреть.
Данные работы проводятся в рамках изучения возможности применения DB2 на имеющемся кластерном оборудовании, а не в рамках конкретного проекта, почему и были выбраны стандартные методы генерации нагрузки. Поэтому же применение дополнительного бизнес-софта, например WebSphere, не представляется необходимым.
Отмечу, что мы не стремимся к максимальному TPS, наша задача - посмотреть динамику на разном количестве узлов в кластере.
В данный момент актуальность заданного вопроса ослабла, необходимо проверить тестами появившуюся гипотезу корректности применения балансера и DNS.
...
Рейтинг: 0 / 0
DPF load balancing
    #33379498
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
Я бы отличал случаи OLTP и DW применимо к DPF.
Все ниже мое имхо.
Поскольку у меня в голове свои тараканы, то случаи прямого коннекта клиента к базе я не рассматриваю.
Так вот случай SELECT стоит немного особняком, если возвращаемые данные равномерно размазаны по нодам, или если не известно, где данные.
Случаи INSERT/UPDATE/DELETE - для достижения макс производительности и снижения задержек целесообразнее всего делать коннект к ноде, которая имеет обрабатываемые данные. Узнать это можно с помощью scalar function DBPARTITIONNUM, если я не ошибаюсь.
Дальше пошли предположения (в том смысле, что я этого не делал)
Создем некую сущность (балансер), в задачу которого входит принятие запроса на выполнение действий от пользователя, определение ноды, куда пойдут (INSERT) или где будут правится/удалятся данные (UPDATE/DELETE), и перенаправление запроса на выполнение другой сущности (может быть, потоку в рамках балансера) который имеет коннект к нужной ноде.
Случай, когда запрос затрагивает больше одной строки, и все они принадлежат одной ноде, можно приравнять случаю с одной строкой.
А вот если зпрос на обработку затрагивает строки, находяшиеся на разных нодах, то поступать можно по разному - можно "забить" на все и сделать все с любой ноды, или разбить запрос на части по нодам и выполнить а) в режиме двухвазной транзакции; б) нескольких однофазныйх транзакций (смотреть надо по бизнес логике.
Явно серия из однофазных транзакций на нодах, владеющих данными, будет самый быстрый вариант. Если по бизнесу такое не возможно, то надо сравнивать производительность случая "все с одной" и двухфазной транзакции.
По своему опыту могу предположить, что при правильном архитектурном подходе, в большом количестве случаев можно свести одну большую транзакцию к последовательности маленькой, а если сделать еще и компенсационный откат (или тулзы его поддерживают) то в подавляющем большинстве случаев.
Другой вопрос, что это выходит за рамки db2, потребуется (навскидку) MQ, и Broker может тоже нонадобится (ну я с самого начала сказал, что случай прямого коннекта клиента к базе не рассматриваю, это вот про MQ как раз и было).
В принципе, можно замутить.
Но реализация будет сильно завязаны на бизнес логику.
...
Рейтинг: 0 / 0
DPF load balancing
    #33379626
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
то, что падала производительность - объяснимо.
Толку делать балансировку round robin если коннект попадает на ноду, где данных нет.
Сплошные потери на межнодовой коммуникации, а не выигрышь.
Так как "оффициальная" позиция такая, что нет таких OLTP задач клиентов, которые не покрывались бы каким либо сервером IBM по производительности целиком и полностью, то применение DPF для OLTP следует рассматривать в последнюю очередь.
Ну а если рассматривать - то (имхо) по выше приведенной схеме.
ИМХО фиолетово, какая база, какого вендора, shared disk or shared nothing, проблема имеет место быть везде, и везде приложения должны быть заточены под конкретные условия.
Да и не имхо это - есть доки, имхо :)
...
Рейтинг: 0 / 0
DPF load balancing
    #33379970
Avalanche
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ggvСоздем некую сущность (балансер), в задачу которого входит принятие запроса на выполнение действий от пользователя, определение ноды, куда пойдут (INSERT) или где будут правится/удалятся данные (UPDATE/DELETE), и перенаправление запроса на выполнение другой сущности (может быть, потоку в рамках балансера) который имеет коннект к нужной ноде.
- я так понимаю, что реализовано техологией SACR в фикспаке 10 ( Unlimited scale-up of DB2 using server-assisted client redirect ), но почему-то только для связки с WebSphere - IBM'овский принцип разноса функциональности в разные продукты меня опять озадачивает.
ggvнет таких OLTP задач клиентов, которые не покрывались бы каким либо сервером IBM по производительности целиком и полностью
- это давний спор между рекомендуемыми и возможными решениями применения мейнфрейма или кластера и здесь у каждого своя позиция, но аргументы всех сторон общеизвестны.
ggvТолку делать балансировку round robin если коннект попадает на ноду, где данных нет
- поскольку обе стратегии, как размещения данных партиционированием, так и подключения, являются почти равномерными, соединение происходит один раз, сессия обрабатывает набор строк, а выбор конкретной строки случаен, то в общем случае почти всегда сессия будет попадать не на "тот" узел. Опеределять, где лежит строка сессии, стоит примерно столько же, сколько сбегать и ее обновить. В случае выборки только костовому оптимизатору видней, что такое "нода, которая имеет обрабатываемые данные", вот пусть он и рулит. Смысл как раз в том, чтобы все узлы кластера работали на свою полную мощность без сползаний на подгруппу узлов и ручных настроек. А такого не добиться без ровной нагрузки соединениями - миграции сессий из соображений перформанса пока нет и наверняка не будет, только failover.
...
Рейтинг: 0 / 0
DPF load balancing
    #33382251
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
AvalancheОпеределять, где лежит строка сессии, стоит примерно столько же, сколько сбегать и ее обновить.
Заблуждение IMHO
Большое
...
Рейтинг: 0 / 0
DPF load balancing
    #33382262
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
Avalanche
- это давний спор между рекомендуемыми и возможными решениями применения мейнфрейма или кластера и здесь у каждого своя позиция, но аргументы всех сторон общеизвестны.

Уточняю - о mainframe речи небыло, только о p5
...
Рейтинг: 0 / 0
DPF load balancing
    #33382296
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
Avalanche- IBM'овский принцип разноса функциональности в разные продукты меня опять озадачивает.

Да нет, все понятно и логично.
IBM и не скрывает, что понятие "бизнес приложение" и "J2EE приложение" эквивалентны.
Так что в этом смысле все логично, сервер приложений предоставляет полное окружение, включая и балансировку, етс.
...
Рейтинг: 0 / 0
DPF load balancing
    #33382579
Avalanche
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не согласен, что переносить балансировку нагрузки при на уровень application server понятно и логично: как раз получается, что базовая функциональность в БД, но прозрачно, кроме сервера приложений, ее использовать нельзя. Просматриваю TPC full disclosure report'ы по DB2, пытаюсь понять, как распределяли подключения грамотные дяди.
...
Рейтинг: 0 / 0
DPF load balancing
    #33382630
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
дык мы можем хоть соглашатся, хоть не соглашаться - мы повлиять не можем.
Но имхо понимая стремление IBM вытеснить весь бизнес под сервер приложения - я понимаю, почему управление распределением отдано на откуп ему же.
Вы можете не соглашатся сколько угодно, я просто попытался предположить, почему так сделано.
...
Рейтинг: 0 / 0
DPF load balancing
    #33382747
Avalanche
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Согласен, что ggvмы можем хоть соглашатся, хоть не соглашаться - мы повлиять не можем
Не согласен, что ggvпонятно и логично, но кажется, что потихоньку начинаю выявлять для себя их политику.
В любом случае спасибо за выраженные IMHO.
...
Рейтинг: 0 / 0
DPF load balancing
    #33383356
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
а по поводу разницы узнать, где лежат данные, или сбегать и обновить, понятно?
Просто узнать - функция, hash, а сбегать и обновить - network I/O и disk I/O
...
Рейтинг: 0 / 0
DPF load balancing
    #33383447
Avalanche
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В любом случае обновлять - disk I/O такой же.
Беготня уменьшается только если сессия физически присоединилась к тому узлу, где ее данные. Балансер с пулом соединений не уменьшает беготни - network I/O такой же.
Поскольку реализация уже фиксирована - предлагается тушить обсуждение "как можно было бы".
...
Рейтинг: 0 / 0
DPF load balancing
    #33383464
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня есть вопросы.
1) Какая пропускная способность между нодами? 100 или 1000 мегабит?
2) Пробовали при настройке узлов сетевые адреса забить жестко айпишники, а не сетевые адреса компов?
...
Рейтинг: 0 / 0
25 сообщений из 33, страница 1 из 2
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / DPF load balancing
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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