Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
DPF load balancing
|
|||
|---|---|---|---|
|
#18+
Установлен 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, но это тоже не то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2005, 11:47 |
|
||
|
DPF load balancing
|
|||
|---|---|---|---|
|
#18+
Первый вопрос зачем? Что тебя не устраивает в текущей ситуации? Почитай про BCU Balanced Configuration Unit - документ пока публично доступен для AIX'a Для Linux есть внутренний в IBM, который можно получить на уловиях NDA и в январе феврале будет доступен для Linux В кратце. Нода Каталога не должна шерстить данные, они должны быть на остальных узлах. Вообщем Catalog Note + Query Patroller -> выступают как access manager. Но там рассматриваются и другие вопросы. Если не секрет что у тебя где проект??? Можно помочь внутренними документами докуменатми IBM. P.S. Пиши на Nikolay_Kulikov@ru.ibm.com ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2005, 12:23 |
|
||
|
DPF load balancing
|
|||
|---|---|---|---|
|
#18+
Очевидно, что в текущей ситуации меня не устраивает, что 3 из 4-х узлов простаивают. В общем случае это будет для (N-1) из N узлов, что вообще не представляется разумным применением DPF. Связи между BCU и лоад балансингом при использовании DPF не вижу. Вообще странно, что не предлагается прямолинейных решений, только какие-то самострои вида balance , Connection Router for DB2 Partitioned Database или вообще ничего не предлагается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2005, 12:44 |
|
||
|
DPF load balancing
|
|||
|---|---|---|---|
|
#18+
Узлы простаивыют не потому что у тебя нет Load Balancing. У тебя layout неправильный. У тебя OLTP или DW что за задача, ты не ответил на воспрос??? db2 select * from syscat.nodegroups db2 select * from syscat.tablespaces ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2005, 13:33 |
|
||
|
DPF load balancing
|
|||
|---|---|---|---|
|
#18+
Тест TPC-B, устаревший, но для моих целей подходящий, т.е. OLTP, но другие просто не попробовал т.к. с этим косяк. IBMDEFAULTGROUP на четырех (всех) партишнах (по одному на каждом узле), USERSPACE1 находится в IBMDEFAULTGROUP, таблицы партиционированы и находятся в USERSPACE1: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2005, 14:33 |
|
||
|
DPF load balancing
|
|||
|---|---|---|---|
|
#18+
Расположение табличных пространств на дисках. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2005, 16:51 |
|
||
|
DPF load balancing
|
|||
|---|---|---|---|
|
#18+
nkulikovРасположение табличных пространств на дисках я вроде написал. Мне ребята после конференции как раз говорили обратиться к Куликову или Савранскому. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2005, 18:26 |
|
||
|
DPF load balancing
|
|||
|---|---|---|---|
|
#18+
layout == расположние табличных постранств на дисках ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2005, 18:30 |
|
||
|
DPF load balancing
|
|||
|---|---|---|---|
|
#18+
Что нужно написать по расположнию табличных постранств на дисках, что поможет мне решить вопрос балансинга? Поскольку я являюсь сотрудником к компании, подписавшей NDA, то это не должно быть проблемой. Подробности могу отправить письмом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2005, 18:55 |
|
||
|
DPF load balancing
|
|||
|---|---|---|---|
|
#18+
Пока советовались со специалистами по правильной концепции распределения пользователей по узлам еще раз вспомнили про 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 я так и не услышал, а жаль, вопрос интересный, но, как я понимаю, самим ИБМом прямо не решенный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2005, 02:06 |
|
||
|
DPF load balancing
|
|||
|---|---|---|---|
|
#18+
Кстати какая у вас версия DB2? DPF на данный момент решение больше ориентированное для DW чем для OLTP. Почему у вас получилась такая разница. По идее tpc-a/b/c можно хорошо разложить по узлам. Все таки я думаю что layout не верный и это есть причина простоев. У тебя приходит запрос на узел, на котором нет данных => у тебя есть дополнительное взаимодействие между узлами кластера, что и просаживает производительность в 11 раз. У вас будет WebSphere Application Server или вы планируете использовать что-то другое. Пока не вижу конкретики. Что делаем, на чем делаем (приложение средство разработки и среда исполнения) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2005, 10:55 |
|
||
|
DPF load balancing
|
|||
|---|---|---|---|
|
#18+
У нас Enterprise. Приведенные цифры следует конечно воспринять критически - это только первые результаты, сам пока не верю, были итерации тестов с достойным средним TPS, как получилось - будем смотреть. Данные работы проводятся в рамках изучения возможности применения DB2 на имеющемся кластерном оборудовании, а не в рамках конкретного проекта, почему и были выбраны стандартные методы генерации нагрузки. Поэтому же применение дополнительного бизнес-софта, например WebSphere, не представляется необходимым. Отмечу, что мы не стремимся к максимальному TPS, наша задача - посмотреть динамику на разном количестве узлов в кластере. В данный момент актуальность заданного вопроса ослабла, необходимо проверить тестами появившуюся гипотезу корректности применения балансера и DNS. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2005, 12:01 |
|
||
|
DPF load balancing
|
|||
|---|---|---|---|
|
#18+
Я бы отличал случаи OLTP и DW применимо к DPF. Все ниже мое имхо. Поскольку у меня в голове свои тараканы, то случаи прямого коннекта клиента к базе я не рассматриваю. Так вот случай SELECT стоит немного особняком, если возвращаемые данные равномерно размазаны по нодам, или если не известно, где данные. Случаи INSERT/UPDATE/DELETE - для достижения макс производительности и снижения задержек целесообразнее всего делать коннект к ноде, которая имеет обрабатываемые данные. Узнать это можно с помощью scalar function DBPARTITIONNUM, если я не ошибаюсь. Дальше пошли предположения (в том смысле, что я этого не делал) Создем некую сущность (балансер), в задачу которого входит принятие запроса на выполнение действий от пользователя, определение ноды, куда пойдут (INSERT) или где будут правится/удалятся данные (UPDATE/DELETE), и перенаправление запроса на выполнение другой сущности (может быть, потоку в рамках балансера) который имеет коннект к нужной ноде. Случай, когда запрос затрагивает больше одной строки, и все они принадлежат одной ноде, можно приравнять случаю с одной строкой. А вот если зпрос на обработку затрагивает строки, находяшиеся на разных нодах, то поступать можно по разному - можно "забить" на все и сделать все с любой ноды, или разбить запрос на части по нодам и выполнить а) в режиме двухвазной транзакции; б) нескольких однофазныйх транзакций (смотреть надо по бизнес логике. Явно серия из однофазных транзакций на нодах, владеющих данными, будет самый быстрый вариант. Если по бизнесу такое не возможно, то надо сравнивать производительность случая "все с одной" и двухфазной транзакции. По своему опыту могу предположить, что при правильном архитектурном подходе, в большом количестве случаев можно свести одну большую транзакцию к последовательности маленькой, а если сделать еще и компенсационный откат (или тулзы его поддерживают) то в подавляющем большинстве случаев. Другой вопрос, что это выходит за рамки db2, потребуется (навскидку) MQ, и Broker может тоже нонадобится (ну я с самого начала сказал, что случай прямого коннекта клиента к базе не рассматриваю, это вот про MQ как раз и было). В принципе, можно замутить. Но реализация будет сильно завязаны на бизнес логику. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2005, 15:49 |
|
||
|
DPF load balancing
|
|||
|---|---|---|---|
|
#18+
то, что падала производительность - объяснимо. Толку делать балансировку round robin если коннект попадает на ноду, где данных нет. Сплошные потери на межнодовой коммуникации, а не выигрышь. Так как "оффициальная" позиция такая, что нет таких OLTP задач клиентов, которые не покрывались бы каким либо сервером IBM по производительности целиком и полностью, то применение DPF для OLTP следует рассматривать в последнюю очередь. Ну а если рассматривать - то (имхо) по выше приведенной схеме. ИМХО фиолетово, какая база, какого вендора, shared disk or shared nothing, проблема имеет место быть везде, и везде приложения должны быть заточены под конкретные условия. Да и не имхо это - есть доки, имхо :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2005, 16:29 |
|
||
|
DPF load balancing
|
|||
|---|---|---|---|
|
#18+
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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2005, 18:44 |
|
||
|
DPF load balancing
|
|||
|---|---|---|---|
|
#18+
AvalancheОпеределять, где лежит строка сессии, стоит примерно столько же, сколько сбегать и ее обновить. Заблуждение IMHO Большое ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2005, 17:23 |
|
||
|
DPF load balancing
|
|||
|---|---|---|---|
|
#18+
Avalanche - это давний спор между рекомендуемыми и возможными решениями применения мейнфрейма или кластера и здесь у каждого своя позиция, но аргументы всех сторон общеизвестны. Уточняю - о mainframe речи небыло, только о p5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2005, 17:25 |
|
||
|
DPF load balancing
|
|||
|---|---|---|---|
|
#18+
Avalanche- IBM'овский принцип разноса функциональности в разные продукты меня опять озадачивает. Да нет, все понятно и логично. IBM и не скрывает, что понятие "бизнес приложение" и "J2EE приложение" эквивалентны. Так что в этом смысле все логично, сервер приложений предоставляет полное окружение, включая и балансировку, етс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2005, 17:36 |
|
||
|
DPF load balancing
|
|||
|---|---|---|---|
|
#18+
Не согласен, что переносить балансировку нагрузки при на уровень application server понятно и логично: как раз получается, что базовая функциональность в БД, но прозрачно, кроме сервера приложений, ее использовать нельзя. Просматриваю TPC full disclosure report'ы по DB2, пытаюсь понять, как распределяли подключения грамотные дяди. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2005, 19:55 |
|
||
|
DPF load balancing
|
|||
|---|---|---|---|
|
#18+
дык мы можем хоть соглашатся, хоть не соглашаться - мы повлиять не можем. Но имхо понимая стремление IBM вытеснить весь бизнес под сервер приложения - я понимаю, почему управление распределением отдано на откуп ему же. Вы можете не соглашатся сколько угодно, я просто попытался предположить, почему так сделано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2005, 20:39 |
|
||
|
DPF load balancing
|
|||
|---|---|---|---|
|
#18+
Согласен, что ggvмы можем хоть соглашатся, хоть не соглашаться - мы повлиять не можем Не согласен, что ggvпонятно и логично, но кажется, что потихоньку начинаю выявлять для себя их политику. В любом случае спасибо за выраженные IMHO. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2005, 22:48 |
|
||
|
DPF load balancing
|
|||
|---|---|---|---|
|
#18+
а по поводу разницы узнать, где лежат данные, или сбегать и обновить, понятно? Просто узнать - функция, hash, а сбегать и обновить - network I/O и disk I/O ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2005, 10:39 |
|
||
|
DPF load balancing
|
|||
|---|---|---|---|
|
#18+
В любом случае обновлять - disk I/O такой же. Беготня уменьшается только если сессия физически присоединилась к тому узлу, где ее данные. Балансер с пулом соединений не уменьшает беготни - network I/O такой же. Поскольку реализация уже фиксирована - предлагается тушить обсуждение "как можно было бы". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2005, 11:07 |
|
||
|
|

start [/forum/topic.php?fid=43&msg=33377835&tid=1605663]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
56ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
79ms |
get tp. blocked users: |
1ms |
| others: | 264ms |
| total: | 448ms |

| 0 / 0 |
