Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Повышение производительности сервера
|
|||
|---|---|---|---|
|
#18+
Знатоки DB2. Поделитесь пожалуйств опытом, как можно повысить производительность сервера в части повышения скорости операций записи. Пример, есть таблица из 12 полей, 1 ключ первичный на поле типа INTEGER, + 4 индекса на полях VARCHAR(32), VARCHAR(500), INTEGER, TIMESTAMP. Время записи - 0.7517 сек. Говорят - это много. Какие настройки можно сделать на сервере, чтобы ускорить операции записи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2006, 09:46 |
|
||
|
Повышение производительности сервера
|
|||
|---|---|---|---|
|
#18+
ChacanovЗнатоки DB2. Поделитесь пожалуйств опытом, как можно повысить производительность сервера в части повышения скорости операций записи. Пример, есть таблица из 12 полей, 1 ключ первичный на поле типа INTEGER, + 4 индекса на полях VARCHAR(32), VARCHAR(500), INTEGER, TIMESTAMP. Время записи - 0.7517 сек. Говорят - это много. Какие настройки можно сделать на сервере, чтобы ускорить операции записи. Количество записей в таблице? VARCHAR(500) - это круто...) Индексы и таблица в одном табличном пространстве? Если в разных таб. пространствах, то индексы и таблица в одном буферпуле или разных? Какой SQL используете - статический или динамический? План запроса смотрели? Кто еще шоркает по таблице (много ли конкурирующих юзеров) ? на каком уровне изоляции работают приложения? Каков размер страницы у таб пространства и каков размер буферпула? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2006, 10:24 |
|
||
|
Повышение производительности сервера
|
|||
|---|---|---|---|
|
#18+
и эта, gardenman, про размещение журналов спроси, посикоку речь идет об INSERT, если я правильно понял. Ну и режуим для таблиц только для вставки. Но это уже совсем крайний случай и никаких UPDATE. И вообще - 0.7517 сказали много на каком основании? И много если один пользователь или тысячи? И прочие загрузки сервера? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2006, 10:49 |
|
||
|
Повышение производительности сервера
|
|||
|---|---|---|---|
|
#18+
да, и конечно кол-во page cleaner, prefetchers, и вообще, performance tuning это исскуство, и вот так вот, без доки/знаний, в форуме, где народ не знает ни нагрузки вашего сервака, ни особенности вашего приложения.... Наивно ждать внятного ответа кроме RTFM ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2006, 10:51 |
|
||
|
Повышение производительности сервера
|
|||
|---|---|---|---|
|
#18+
db2 get snapshot for all on SAMPLE и закинь сюда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2006, 11:31 |
|
||
|
Повышение производительности сервера
|
|||
|---|---|---|---|
|
#18+
предварительно надо сделать Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2006, 11:35 |
|
||
|
Повышение производительности сервера
|
|||
|---|---|---|---|
|
#18+
да снапшотов не один надо, а несколько, в разные временные промежутки, отследить тенденции, проанализировать - работы не мало, время. Да к этому вывод vmstat, чтоб нагрузку на ОС отследить, на память, I/O.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2006, 11:42 |
|
||
|
Повышение производительности сервера
|
|||
|---|---|---|---|
|
#18+
В первом приближении я посоветовал бы разобраться с полем VARCHAR(500) и индексом по нему (удалите этот индекс и посмотрите скорость вставки без него), и убедиться, что журнал транзакции находится на отдельном, быстром диске. А потом уже заниматься прочим ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2006, 12:09 |
|
||
|
Повышение производительности сервера
|
|||
|---|---|---|---|
|
#18+
виктор, как всегда, в точку. Журнал это первое. а странные поля это второе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2006, 12:19 |
|
||
|
Повышение производительности сервера
|
|||
|---|---|---|---|
|
#18+
В принципе в этой таблице все индексы кроме первичного ключа можно удалить. Только вот это делу не поможет. Точно такая же операция, на другой, значительно дохлой машине, выполняется в 10-100 раз быстрее. Поэтому дайте пожалуйста совет, именно по тюнингу DB2 а не конкретной таблицы. Что касается специфики приложения - это web-application. А обсуждаемая таблица содержит лог обращений к приложению. Обнавление этой таблицы не презусматривается, только вставка (самая распространенная операция для данной таблицы), чтение и удаление (очистка лога). Еще раз повторюсь, что таблица тут никакого значения не имеет, ибо вставка в другую таблицу, где меньше ключей и меньше записей, занимает такое же время. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2006, 16:17 |
|
||
|
Повышение производительности сервера
|
|||
|---|---|---|---|
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2006, 17:14 |
|
||
|
Повышение производительности сервера
|
|||
|---|---|---|---|
|
#18+
Прилагаю Файл конфигурации DB2 по своему вопросу. Прошу помощи при анализации файла конфигурации. Что там не так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2006, 12:14 |
|
||
|
Повышение производительности сервера
|
|||
|---|---|---|---|
|
#18+
ChacanovПрилагаю Файл конфигурации DB2 по своему вопросу. Прошу помощи при анализации файла конфигурации. Что там не так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2006, 12:16 |
|
||
|
Повышение производительности сервера
|
|||
|---|---|---|---|
|
#18+
Еще инфу по TableSpace и BufferPool, а также скрипт на создание таблицы и индексов, триггеров, имеются или нет внешние ключи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2006, 12:30 |
|
||
|
Повышение производительности сервера
|
|||
|---|---|---|---|
|
#18+
ёпрст.... Да вы уж лучше бы на камеру засняли вашу конфигурацию, и в avi приложили.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2006, 12:35 |
|
||
|
Повышение производительности сервера
|
|||
|---|---|---|---|
|
#18+
В zip-файле картинки по TS и BufferPoll ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2006, 13:59 |
|
||
|
Повышение производительности сервера
|
|||
|---|---|---|---|
|
#18+
Ну а скрипт на создание таблицы, и индексов где? Статистику по таблице давно собирал? Сколько всего строк в таблице? внешние ключи куда-нить навешены? SMS - не самый лучший выбор для TABLESPACE. Судя по всему (предполагаю конечно) - лог и этот tablespace - на одном диске находятся (это плохо). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2006, 14:21 |
|
||
|
Повышение производительности сервера
|
|||
|---|---|---|---|
|
#18+
ChacanovВ zip-файле картинки по TS и BufferPoll Шо, серйозно??? Прямо таки картинки и сделал, как я советовал?! Ну перец, адназначна! А avi слабо??? Ну не буду я напрягать голову, каким таким образом мне посмотреть содержимое ms word файла, которое суть есть вывод db2 get db[m] cfg. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2006, 14:58 |
|
||
|
Повышение производительности сервера
|
|||
|---|---|---|---|
|
#18+
Я предлагаю вам сделать простое действие Во время работы вашего приложения запустить db2support -d <Имя-Вашей-БД> и положить сюда db2support.zip После этого можно будет обсуждать, что у вас не так с производительностью ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2006, 15:04 |
|
||
|
Повышение производительности сервера
|
|||
|---|---|---|---|
|
#18+
И почитать, сколько работы приходится проделывать СУБД, чтобы попытаться понять, где находится узкое место. Что происходит при вставке. В частности: * "разборки" с блокировками (ожидание, установка) * исполнение триггеров before * поиск свободного места в таблице * чтение страницы в таблице, которая будет модифицирована * чтение индексов, которые будут перестроены * исполнение триггеров after * запись в журнал транзакций * очистка грязных страниц буферного пула * /что-то ещё, что я забыл упомянуть/ Поэтому вопросы типа ChacanovПоэтому дайте пожалуйста совет, именно по тюнингу DB2 а не конкретной таблицы. ChacanovПрошу помощи при анализации файла конфигурации. Что там не так. у меня (и, очевидно, не только у меня) вызывают в лучшем случае растерянность. Что там не так? Ну, а что там "так"? Ведь даже прекомпиляция INSERT может быть весьма тормозящей (при соответствующих триггерах)! А можно буферный пул сделать большой-большой, чтобы всё свопилось. Можно взгромоздить базу на RAID5, не поменяв в конфигурации БД ничего (хотя, несмотря ни на какое количество cleaner'ов, по-моему, не стоит ставить БД на RAID5). Можно поместить журнал транзакций на древний IDE-шный винчестер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2006, 16:54 |
|
||
|
Повышение производительности сервера
|
|||
|---|---|---|---|
|
#18+
Victor - браво. Великолепно, блин. Умеют же сформулировать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2006, 17:49 |
|
||
|
Повышение производительности сервера
|
|||
|---|---|---|---|
|
#18+
Приложил скрипт на создание таблицы, с индексами, и внешними ключами на справочные таблицы, число записей - более 90000, накопилось за год, планируется дальнейшее заполнение. Конечно есть и другие таблицы. В файле приведены временные характеристики при вводе 4 записей, число работавших пользователей - 1 Статистику по таблице не собирали. Лог и tablespace - на одном диске находятся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2006, 09:32 |
|
||
|
Повышение производительности сервера
|
|||
|---|---|---|---|
|
#18+
Короче очень много проблем сделанных при проектировании: 1) это триггер BEFORE Код: plaintext 1. 2. 3. 4. Я бы во-первых использовал 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)) - типа удалял бы ведущие и последние пробелы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2006, 10:18 |
|
||
|
Повышение производительности сервера
|
|||
|---|---|---|---|
|
#18+
Да, пока ничего не сделал, то - хотел бы я увидеть план запроса на инсерт в visual explain ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2006, 10:20 |
|
||
|
|

start [/forum/topic.php?fid=43&fpage=136&tid=1605520]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
30ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 278ms |
| total: | 420ms |

| 0 / 0 |
