powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Повышение производительности сервера
25 сообщений из 40, страница 1 из 2
Повышение производительности сервера
    #33512415
Chacanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Знатоки DB2. Поделитесь пожалуйств опытом, как можно повысить производительность сервера в части повышения скорости операций записи. Пример, есть таблица из 12 полей, 1 ключ первичный на поле типа INTEGER, + 4 индекса на полях VARCHAR(32), VARCHAR(500), INTEGER, TIMESTAMP. Время записи - 0.7517 сек. Говорят - это много. Какие настройки можно сделать на сервере, чтобы ускорить операции записи.
...
Рейтинг: 0 / 0
Повышение производительности сервера
    #33512542
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ChacanovЗнатоки DB2. Поделитесь пожалуйств опытом, как можно повысить производительность сервера в части повышения скорости операций записи. Пример, есть таблица из 12 полей, 1 ключ первичный на поле типа INTEGER, + 4 индекса на полях VARCHAR(32), VARCHAR(500), INTEGER, TIMESTAMP. Время записи - 0.7517 сек. Говорят - это много. Какие настройки можно сделать на сервере, чтобы ускорить операции записи.

Количество записей в таблице?
VARCHAR(500) - это круто...)
Индексы и таблица в одном табличном пространстве?
Если в разных таб. пространствах, то индексы и таблица в одном буферпуле или разных?
Какой SQL используете - статический или динамический?
План запроса смотрели?
Кто еще шоркает по таблице (много ли конкурирующих юзеров) ?
на каком уровне изоляции работают приложения?
Каков размер страницы у таб пространства и каков размер буферпула?
...
Рейтинг: 0 / 0
Повышение производительности сервера
    #33512637
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
и эта, gardenman, про размещение журналов спроси, посикоку речь идет об INSERT, если я правильно понял.
Ну и режуим для таблиц только для вставки. Но это уже совсем крайний случай и никаких UPDATE.
И вообще - 0.7517 сказали много на каком основании? И много если один пользователь или тысячи? И прочие загрузки сервера?
...
Рейтинг: 0 / 0
Повышение производительности сервера
    #33512650
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
да, и конечно кол-во page cleaner, prefetchers, и вообще, performance tuning это исскуство, и вот так вот, без доки/знаний, в форуме, где народ не знает ни нагрузки вашего сервака, ни особенности вашего приложения.... Наивно ждать внятного ответа кроме RTFM
...
Рейтинг: 0 / 0
Повышение производительности сервера
    #33512808
тлгдшлщм
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
db2 get snapshot for all on SAMPLE

и закинь сюда.
...
Рейтинг: 0 / 0
Повышение производительности сервера
    #33512820
тлгдшлщм
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
предварительно надо сделать
Код: plaintext
1.
db2 update dbm cfg using DFT_MON_BUFPOOL OFF DFT_MON_LOCK OFF FT_MON_SORT OFF DFT_MON_STMT OFF DFT_MON_TABLE OFF DFT_MON_TIMESTAMP ON DFT_MON_UOW OFF HEALTH_MON ON
...
Рейтинг: 0 / 0
Повышение производительности сервера
    #33512845
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
да снапшотов не один надо, а несколько, в разные временные промежутки, отследить тенденции, проанализировать - работы не мало, время.
Да к этому вывод vmstat, чтоб нагрузку на ОС отследить, на память, I/O....
...
Рейтинг: 0 / 0
Повышение производительности сервера
    #33512969
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В первом приближении я посоветовал бы разобраться с полем VARCHAR(500) и индексом по нему (удалите этот индекс и посмотрите скорость вставки без него), и убедиться, что журнал транзакции находится на отдельном, быстром диске. А потом уже заниматься прочим ;-)
...
Рейтинг: 0 / 0
Повышение производительности сервера
    #33513010
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
виктор, как всегда, в точку.
Журнал это первое.
а странные поля это второе.
...
Рейтинг: 0 / 0
Повышение производительности сервера
    #33524290
Девелопер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В принципе в этой таблице все индексы кроме первичного ключа можно удалить. Только вот это делу не поможет. Точно такая же операция, на другой, значительно дохлой машине, выполняется в 10-100 раз быстрее. Поэтому дайте пожалуйста совет, именно по тюнингу DB2 а не конкретной таблицы.

Что касается специфики приложения - это web-application. А обсуждаемая таблица содержит лог обращений к приложению. Обнавление этой таблицы не презусматривается, только вставка (самая распространенная операция для данной таблицы), чтение и удаление (очистка лога).

Еще раз повторюсь, что таблица тут никакого значения не имеет, ибо вставка в другую таблицу, где меньше ключей и меньше записей, занимает такое же время.
...
Рейтинг: 0 / 0
Повышение производительности сервера
    #33524327
Herr Developer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Девелопер

Можно здесь немного прочитать, может и найдети что-то нового
Tips for improving INSERT performance in DB2 Universal Database

И еще...
SMS/DMS?

Хотя если "выполняется в 10-100 раз быстрее"
что у Вас там с lock'ами то?

P.S.
Подозреваю
что если делать типа INSERT INTO ... WITH UR, SELECT ... WITH UR
скорость заметно возрастет :)

Lock avoidance in DB2 UDB V8
...
Рейтинг: 0 / 0
Повышение производительности сервера
    #33530902
Chacanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прилагаю Файл конфигурации DB2 по своему вопросу.
Прошу помощи при анализации файла конфигурации. Что там не так.
...
Рейтинг: 0 / 0
Повышение производительности сервера
    #33530911
Chacanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ChacanovПрилагаю Файл конфигурации DB2 по своему вопросу.
Прошу помощи при анализации файла конфигурации. Что там не так.
...
Рейтинг: 0 / 0
Повышение производительности сервера
    #33530974
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще инфу по TableSpace и BufferPool, а также скрипт на создание таблицы и индексов, триггеров, имеются или нет внешние ключи?
...
Рейтинг: 0 / 0
Повышение производительности сервера
    #33530992
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
ёпрст....
Да вы уж лучше бы на камеру засняли вашу конфигурацию, и в avi приложили....
...
Рейтинг: 0 / 0
Повышение производительности сервера
    #33531370
Chacanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В zip-файле картинки по TS и BufferPoll
...
Рейтинг: 0 / 0
Повышение производительности сервера
    #33531471
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну а скрипт на создание таблицы, и индексов где?
Статистику по таблице давно собирал?
Сколько всего строк в таблице?
внешние ключи куда-нить навешены?

SMS - не самый лучший выбор для TABLESPACE.
Судя по всему (предполагаю конечно) - лог и этот tablespace - на одном диске находятся (это плохо).
...
Рейтинг: 0 / 0
Повышение производительности сервера
    #33531619
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
ChacanovВ zip-файле картинки по TS и BufferPoll
Шо, серйозно??? Прямо таки картинки и сделал, как я советовал?!
Ну перец, адназначна!
А avi слабо???
Ну не буду я напрягать голову, каким таким образом мне посмотреть содержимое ms word файла, которое суть есть вывод db2 get db[m] cfg.
...
Рейтинг: 0 / 0
Повышение производительности сервера
    #33531641
тлгдшлщм
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я предлагаю вам сделать простое действие
Во время работы вашего приложения запустить
db2support -d <Имя-Вашей-БД> и положить сюда db2support.zip
После этого можно будет обсуждать, что у вас не так с производительностью
...
Рейтинг: 0 / 0
Повышение производительности сервера
    #33532104
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И почитать, сколько работы приходится проделывать СУБД, чтобы попытаться понять, где находится узкое место.

Что происходит при вставке. В частности:

* "разборки" с блокировками (ожидание, установка)
* исполнение триггеров before
* поиск свободного места в таблице
* чтение страницы в таблице, которая будет модифицирована
* чтение индексов, которые будут перестроены
* исполнение триггеров after
* запись в журнал транзакций
* очистка грязных страниц буферного пула
* /что-то ещё, что я забыл упомянуть/

Поэтому вопросы типа ChacanovПоэтому дайте пожалуйста совет, именно по тюнингу DB2 а не конкретной таблицы.
ChacanovПрошу помощи при анализации файла конфигурации. Что там не так. у меня (и, очевидно, не только у меня) вызывают в лучшем случае растерянность.

Что там не так? Ну, а что там "так"?

Ведь даже прекомпиляция INSERT может быть весьма тормозящей (при соответствующих триггерах)! А можно буферный пул сделать большой-большой, чтобы всё свопилось. Можно взгромоздить базу на RAID5, не поменяв в конфигурации БД ничего (хотя, несмотря ни на какое количество cleaner'ов, по-моему, не стоит ставить БД на RAID5). Можно поместить журнал транзакций на древний IDE-шный винчестер.
...
Рейтинг: 0 / 0
Повышение производительности сервера
    #33532305
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
Victor - браво.
Великолепно, блин.
Умеют же сформулировать...
...
Рейтинг: 0 / 0
Повышение производительности сервера
    #33533026
Chacanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приложил скрипт на создание таблицы, с индексами,
и внешними ключами на справочные таблицы,
число записей - более 90000, накопилось за год,
планируется дальнейшее заполнение.
Конечно есть и другие таблицы.
В файле приведены временные характеристики при вводе 4 записей,
число работавших пользователей - 1
Статистику по таблице не собирали.
Лог и tablespace - на одном диске находятся.
...
Рейтинг: 0 / 0
Повышение производительности сервера
    #33533133
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Короче очень много проблем сделанных при проектировании:
1) это триггер BEFORE
Код: plaintext
1.
2.
3.
4.
CREATE TRIGGER DB2ADMIN.BAZA01_P1 NO CASCADE
BEFORE  INSERT  ON DB2ADMIN.BAZA01 
REFERENCING  NEW AS new  FOR EACH ROW  MODE DB2SQL 
SET NEW.P1 = coalesce((select MAX(DB2ADMIN.BAZA01.P1)from DB2ADMIN.BAZA01 ), 0 ) + 1  ;

Я бы во-первых использовал IDENTITY либо SEQUENCE
у вас агрегатная функция MAX которая a)блокикует всю таблицу в момент выполнения. б) по умолчанию DB2 не может делать REVERSE SCANS на PRIMARY key. Поэтому нужно было бы по крайней мере создать индекс
(P1 DESC), чтобы оптимизатор брал последнее дначение пользуясь индексом.
Хотя совет однозначный не создавать индекс - а переделать триггер и уйти на SEQUENCE.

во вторых:
у вас нет индекса на поле CODE_USR на которое также повешан foreign key
аналогичная ситуация с CODE_OBR, CODE_PRICH, CODE_REZ

в-третьих:
Что-то мне не нравится
PL01-PL10 CHARACTER (50),
DP01-DP10 DATE,
ZL01-ZL10 INTEGER
Сдается мне что это вообще должна быть отдельная таблица,
и к тому же я бы рекомендовал заменить CHAR(50) на VARCHAR(50).
А то получается строка уже - 500 байт, несмотря на то что там наверняка пусто. А в триггере BEFORE сделал бы RTRIM(LTRIM(PL01)) - типа удалял бы ведущие и последние пробелы.
...
Рейтинг: 0 / 0
Повышение производительности сервера
    #33533143
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, пока ничего не сделал, то - хотел бы я увидеть план запроса на инсерт в visual explain
...
Рейтинг: 0 / 0
Повышение производительности сервера
    #33533190
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще один совет - я б такую широкую таблицу поместил в TS c размером страницы 8K
...
Рейтинг: 0 / 0
25 сообщений из 40, страница 1 из 2
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Повышение производительности сервера
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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