powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Informix [игнор отключен] [закрыт для гостей] / Фрагментация
22 сообщений из 22, страница 1 из 1
Фрагментация
    #36290599
Leonid Vorontsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте! Вопрос довольно абстрактный, но всё же... Есть ли смысл что-то фрагментировать в OLTP-системе, если dbspace находится на единственном RAID-е? Может быть, у кого-нибудь есть какой-то опыт...
...
Рейтинг: 0 / 0
Фрагментация
    #36290760
GVF112GVF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid Vorontsov,

Ответ довольно абстрактный .... :)
Как известно, для OLTP наиболее систем, наиболее предпочтителен индексный метод доступа ISAM.
Собственно и ответ - фрагметировать индексы. Стратегия фрагментации, зависит от природы данных (гистограммы распределение данных), частоте доступа и т.д.

Надеюсь, что у Вас SMP-система и RAID не 5-го уровня.

С уважением,
Вадим.
...
Рейтинг: 0 / 0
Фрагментация
    #36291292
zaiets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Н-да, ответ тоже будет не прямой.
1. Фрагментация ради увеличения производительности.
Года 2 назад, проанализировав свои индексы решил уменьшить количество levels
с помощью фрагментации.
Пересоздал индексы - уменьшил, правда токо на 1 уровень.
Далее, теория теорией, но нужно как-то проверить.
Составил тест для выборки нескольких миллионов единичных значений.
В итоге, при сравнительном тесте на фрагментированном по выражению индексе
и на индексе состоящему из 1 partnum пришел к одинаковым результатам по
количеству ISAM вызовов, количеству чтений буферов и времени выполнения.

Почему так получилось - не стал разбираться, это было на 9.40 и создавать кучу
пространств для фрагментирования индексов не хотелось.

М.б., есди бы levels уменьшился на 3 получился бы выигрыш, а может я не то сравнивал,
давно это было

Round robin для ускорения вставок не пробовал - не скажу.

2. Фрагментация для обхода ограничений сервера.
Есть ограничения на размер partnum, количество в нем строк, количества экстентов.
Для обхода эих ограничений можно воспользоваться фрагментацией.
...
Рейтинг: 0 / 0
Фрагментация
    #36291305
zaiets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И еще 1 момент касательно сжатия данных на 11.50.
Уменьшая размер ОЛТП БД вы в некотом роде увеливаете доступность сервера.
Большие таблицы можно фрагментировать а "старые" фрагменты сжимать,
таким образом уменьшая размер БД.
...
Рейтинг: 0 / 0
Фрагментация
    #36292168
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid VorontsovЗдравствуйте! Вопрос довольно абстрактный, но всё же... Есть ли смысл что-то фрагментировать в OLTP-системе, если dbspace находится на единственном RAID-е?
Собственно, zaiets уже затронул контекст - "для чего" или "какая цель ?"
Варианты наших ответов могут быть разными в зависимости от твоего ответа:
- появилось свободное время и можно попробовать поиграться
- начальство ставит задачу разобраться
- нужно улучшить производительность, ищу способы
- приближаются некоторые ограничения (критичный размер tablespace), которые надо обходить то ли сменой версии то ли фрагментацией
- захотелось поговорить/пообщаться на форуме, а то активность народа упала :)
...
Рейтинг: 0 / 0
Фрагментация
    #36292700
Leonid Vorontsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Система - SMP, RAID - 10-й. То, что приходится обходить ограничения фрагментированием - ясно. Задача - быстродействие. zaiets, конечно, огорчил :-( Хотя Performance Guide утверждает, что быстродействие можно улучшить! За счёт исключения сервером фрагментов при выполнении запроса, а также за счёт снижения конкуренции запросов на фрагмент...
...
Рейтинг: 0 / 0
Фрагментация
    #36292759
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid VorontsovСистема - SMP, RAID - 10-й. То, что приходится обходить ограничения фрагментированием - ясно. Задача - быстродействие. zaiets, конечно, огорчил :-( Хотя Performance Guide утверждает, что быстродействие можно улучшить! За счёт исключения сервером фрагментов при выполнении запроса, а также за счёт снижения конкуренции запросов на фрагмент...Ну так можно и ухудшить также, и оптимизатору сложнее планы выдумывать и полный обход всех фрагментов дороже чем обход одного.
Производительность увеличивают анализом и устранением узких мест, а не фрагментированием.
...
Рейтинг: 0 / 0
Фрагментация
    #36292871
Фотография Тан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid VorontsovСистема - SMP, RAID - 10-й. То, что приходится обходить ограничения фрагментированием - ясно. Задача - быстродействие. zaiets, конечно, огорчил :-( Хотя Performance Guide утверждает, что быстродействие можно улучшить! За счёт исключения сервером фрагментов при выполнении запроса, а также за счёт снижения конкуренции запросов на фрагмент...
мы используем фрагментацию для исключения сервером фрагментов при выполнении запроса.
никто не жаловался, что медленнее стало.
...
Рейтинг: 0 / 0
Фрагментация
    #36293003
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Журавлев Денис
Производительность увеличивают анализом и устранением узких мест, а не фрагментированием.

+1.

Для OLTP может быть критичным не сколько глубина индекса, как
быстрое его вытеснение из буферного пула. Банальная нехватака буферов.
Помимо увеличения буферов,
Уменьшить параметры упреждающего чтения ,
индексы зачитываются в память через RA_ при этом могут выбивать из буферов нужные данные(другие индексы).

можно рассмотреть возможность
уменьшения индексного ключа( для сложных индексов), использование сурогатных ключей
Ревизия планов запросов, удаление лишних индексов.
Ревизия и разбиение таблиц, для установки связей 1 к 1 и дальнейшей пакетной
подготовкой данных для последующей обработки.

Фрагментирование может быть полезно с точки зрения
удаления старых данных. Если эту операцию рассматривать как критичную по времени.
Иногда ради быстрого удаления старых данных можно пойти на легкую просадку в опертивной производительности , если речь идет о системе 24 /7/365.

Ответ такой же общий как и вопрос.

Первое, на что нужно смотреть onstat -P .
...
Рейтинг: 0 / 0
Фрагментация
    #36293109
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторРевизия и разбиение таблиц, для установки связей 1 к 1 и дальнейшей пакетной
подготовкой данных для последующей обработки.

Эта штука очень хорошо повышает производительность,
но возможна только как рефакторинг. При учете
жизненных циклов данных и циклов обработки в системе.
...
Рейтинг: 0 / 0
Фрагментация
    #36293162
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Журавлев Денис... и полный обход всех фрагментов дороже чем обход одного.
А как же фулл скан и параллельное сканирование фрагментов (и последующая параллельная сортировка) ?
Журавлев ДенисПроизводительность увеличивают анализом и устранением узких мест, а не фрагментированием.
Полностью согласен.
Но постоянно встречались ситуации. когда люди понимая, что анализ это очень трудозатратно и долго, просят некие средства для быстрого (сиюминутного) решения проблем производительности.
А так как нормально измерить результат нечем (в лучшем случае некий долгоиграющий отчет, который к производительности OLTP-запросов не имеет никакого отношения), то главное (что то сделать) достигается фрагментированием и включением PDQ на некоторых тяжелых отчетах :)
...
Рейтинг: 0 / 0
Фрагментация
    #36293231
zaiets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid VorontsovСистема - SMP, RAID - 10-й. То, что приходится обходить ограничения фрагментированием - ясно. Задача - быстродействие. zaiets, конечно, огорчил :-( Хотя Performance Guide утверждает, что быстродействие можно улучшить! За счёт исключения сервером фрагментов при выполнении запроса, а также за счёт снижения конкуренции запросов на фрагмент...

Прошу прощения, с утра я был в глубоком расстройстве по поводу проигрыша ДК.
К вечеру вроде как немного отошел.

Сейчас призадумался, и точно сказать не могу что именно я тестировал.
помню, что задачу поставил - уменьшение количества чтений индексных страниц за счет уменьшения levels.
И, как оказывается. хватил меня склероз.
Точно как решал - не скажу.
Мог как фрагментированием так и увеличением размера странницы.
Но, результат был негативный.
поэтому отзываю свои слова назад.
...
Рейтинг: 0 / 0
Фрагментация
    #36293243
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasilis
А так как нормально измерить результат нечем (в лучшем случае некий долгоиграющий отчет, который к производительности OLTP-запросов не имеет никакого отношения), то главное (что то сделать) достигается фрагментированием и включением PDQ на некоторых тяжелых отчетах :)

Я наблюдал картину, когда включение PDQ для отчетов, уменьшало
производительность OLTP раза ~3
OLTP Сессии толклись на коротких сортировках вокруг PDQ памяти
и не могли ее поделить.
Уменьшение PDQPRIORITY увеличивало производительнсть OLTP и уменьшало скорость
отчетов.
Тут нужно искать либо компромис, либо чем то жертовать .
Как привило в жертву приностился админ, который по звонку дергает onmode -D в ту или иную сторону, если есть лишняя память.
...
Рейтинг: 0 / 0
Фрагментация
    #36293255
zaiets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На 11.50 с разным окружением вроде как не проблема.
В пределах 1го хоста делаете PRI и SDS.
SDS настраиваете на PDQ и вперед.
либо на HDR.
Если конечно позволяет логика приложения.
...
Рейтинг: 0 / 0
Фрагментация
    #36293264
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
onstat-
Как привило в жертву приностился админ, который по звонку дергает onmode -D в ту или иную сторону, если есть лишняя память.

Дергать нужно до запуска отчета.
Могут быть проблемы с подготовленными запросами ( prepare),
они продолжают жить своей жизнью.

В конечном итоге отчеты , длинные транзакции и OLTP нужно разносить по разным серверам.
Плохо они дружатся, не любят друг друга.
...
Рейтинг: 0 / 0
Фрагментация
    #36293267
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zaiets
Если конечно позволяет логика приложения.

А если не позволяет , то обсновывать затраты на рефакторинг.
:)
...
Рейтинг: 0 / 0
Фрагментация
    #36293398
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasilis
А как же фулл скан и параллельное сканирование фрагментов (и последующая параллельная сортировка) ?речь была про oltp, они просто будут стоять в очереди за pdq ресурсом.

vasilis
Полностью согласен.
Но постоянно встречались ситуации. когда люди понимая, что анализ это очень трудозатратно и долго, просят некие средства для быстрого (сиюминутного) решения проблем производительности.
А так как нормально измерить результат нечем (в лучшем случае некий долгоиграющий отчет, который к производительности OLTP-запросов не имеет никакого отношения), то главное (что то сделать) достигается фрагментированием и включением PDQ на некоторых тяжелых отчетах :)В общем все еще хуже. Теоретически надо выяснить самые критичные для бизнеса места и если они "узкие" начать ими заниматься. Мой опыт показывает что имеет смысл разбираться в планах запросов, и точить , точить их. Фрагментировать огромные таблицы (скорее даже индексы) можно только если в запросах к ним участвует ключ фрагментации, ну или чтобы избежать максимального кол-ва экстентов.
...
Рейтинг: 0 / 0
Фрагментация
    #36293407
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В oltp системе pdq можно включать только для долгоиграющих (dss) запросов.
Причем порядок работы такой, включаем pdq, делаем select, close его курсор, выключаем pdq
...
Рейтинг: 0 / 0
Фрагментация
    #36295857
bk0010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Журавлев Денис
включаем pdq ... выключаем pdq
Это как? В смысле какими командами? Мне казалось, что PDQpriority настраивается только через onconfig.
...
Рейтинг: 0 / 0
Фрагментация
    #36295868
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bk0010Журавлев Денис
включаем pdq ... выключаем pdq
Это как? В смысле какими командами? Мне казалось, что PDQpriority настраивается только через onconfig.
Как всё плохо.
onconfig только ограничивает эти ресурсы сверху.

SET PDQPRIORITY сессии - вот нижний уровень управления....
...
Рейтинг: 0 / 0
Фрагментация
    #36296208
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bk0010,

да я пользовался и всем "своим" программерам рекомендовал включать вручную sql запросом set pqdp.... только там где надо. Причем в onconfig ставил типа pqdqueries =2, Иначе банальные insert одной строки с включенным pqd будет занимать ресурс (типа памяти 200 мб), и все будут стоять в очереди. Примерно из-за всего этого большим достижением считаю параметр nonpqdmem... Осталось дождаться умного общего буфера типа ораклячьего pga_aggregate_target
...
Рейтинг: 0 / 0
Фрагментация
    #36296622
bk0010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Informix [игнор отключен] [закрыт для гостей] / Фрагментация
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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