Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Проблема падения производительности БД Firebird 2.1.4 при большом ко-ве подключений(200) / 25 сообщений из 31, страница 1 из 2
25.12.2012, 17:24
    #38092336
Alex_Chechel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема падения производительности БД Firebird 2.1.4 при большом ко-ве подключений(200)
Добрый день.

Внезапно упала производительность БД, при этом видимой нагрузки на сервер нет.
Параметры сервера: raid 5, 32 Гб Ram, Xeon два процессора по 12 ядер

Top показывает: Load average 0.6-0.3, i/o wait: 0.2. Процессы живут нормально, активно отрабатывают и завершаются.

Параметры БД:
Размер БД: 20ГБ, DefaultDBCachePages=2048, 200 активных коннектов к базе
Database header page information:
Flags 0
Checksum 12345
Generation 115804
Page size 4096
ODS version 11.1
Oldest transaction 115119
Oldest active 115120
Oldest snapshot 115120
Next transaction 115123
Bumped transaction 1
Sequence number 0
Next attachment ID 672
Implementation ID 24
Shadow count 0
Page buffers 512
Next header page 0
Database dialect 1
Creation date Dec 25, 2012 11:37:51
Attributes force write

fb_lock_print показывает во время тормозов следующее:

Код: sql
1.
2.
3.
4.
5.
6.
7.
root@rusql:/usr/lib/nagios/plugins# /opt/firebird/bin/fb_lock_print -iaw 2 5
16:32:29 acquire/s acqwait/s  %acqwait acqrtry/s rtrysuc/s    wait/s  reject/s timeout/s blckast/s  dirsig/s  indsig/s  wakeup/s dlkscan/s deadlck/s avlckwait(msec)
16:32:31     11400      5656        49         0         0       264        24         0       843       406         0       962         0         0         0
16:32:33      8382      3715        44         0         0       290        15         0       535       232         0       696         0         0         0
16:32:35      9799      5402        55         0         0       291         8         0       649       239         0       785         0         0         0
16:32:37     11664      6041        51         0         0       250        13         0       796       336         0       859         0         0         0
16:32:39     11728      6251        53         0         0       181        12         0       166       101         0       187         0         0         0



Пробовал менять параметры:
LockMemSize= 51200000
LockSemCount=64
LockHashSlots=107
Затем вернул все по-умолчанию.

Подскажите куда копать, пожалуйста.
...
Рейтинг: 0 / 0
25.12.2012, 17:50
    #38092376
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема падения производительности БД Firebird 2.1.4 при большом ко-ве подключений(200)
Alex_Chechel,

а raid не упал в rebuild часом, если уж речь про "внезапно"?
...
Рейтинг: 0 / 0
25.12.2012, 17:50
    #38092377
Alex_Chechel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема падения производительности БД Firebird 2.1.4 при большом ко-ве подключений(200)
Еще забыл добавить:
ОС: Linux Debian
Firebird Classic 2.1.4
...
Рейтинг: 0 / 0
25.12.2012, 17:53
    #38092381
Alex_Chechel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема падения производительности БД Firebird 2.1.4 при большом ко-ве подключений(200)
kdv,

Не настолько внезапно, месяц назад все было ок, иногда были небольшие тормоза под большой нагрузкой, но не так как началось в понедельник и сегодня продолжилось.
Acqwait максимум поднимался до 26 ранее.
...
Рейтинг: 0 / 0
25.12.2012, 18:28
    #38092410
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема падения производительности БД Firebird 2.1.4 при большом ко-ве подключений(200)
Alex_Chechel,

вспоминайте, что делали. Просто так не бывает же. Кроме raid мне еще мысль пришла - может при restore (сегодня) какие индексы отвалились.
То есть, на успешно свежересторенной базе при всем том же самом тормозов не может быть.
...
Рейтинг: 0 / 0
25.12.2012, 19:10
    #38092449
pastor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема падения производительности БД Firebird 2.1.4 при большом ко-ве подключений(200)
Alex_Chechel,

для такой базы маловат размер страницы. посмотрите экспертом статистику по индексам, если перевалило за 4 level - то может быть оно
...
Рейтинг: 0 / 0
25.12.2012, 19:13
    #38092453
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема падения производительности БД Firebird 2.1.4 при большом ко-ве подключений(200)
Alex_Chechelfb_lock_print показывает
Лучше бы ты заголовок лок-таблицы показал. Отсюда не видно если хватает хэш-слотов. Скорее
всего - нет, так что их число ты напрасно откатил на дефолт.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25.12.2012, 19:16
    #38092463
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема падения производительности БД Firebird 2.1.4 при большом ко-ве подключений(200)
Alex_ChechelВнезапно упала производительность БД
И, кстати, план и статистику тормозящего запроса тоже неплохо бы привести...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25.12.2012, 19:34
    #38092489
Alex_Chechel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема падения производительности БД Firebird 2.1.4 при большом ко-ве подключений(200)
Dimitry Sibiryakov,

Конкретного запроса нет, потому что тормозят все.
Если сейчас выставлю значения хэш-слотс в 877, lock_mem_count попробую поставить 70mb, а lock_sem_count =64
Завтра попробую посмотреть, что получится. за каким параметром лучше следить через fb_lock_print?
...
Рейтинг: 0 / 0
25.12.2012, 19:41
    #38092497
Alex_Chechel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема падения производительности БД Firebird 2.1.4 при большом ко-ве подключений(200)
Хочу добавить для полного диагноза:
помимо основной базы (20Гб) есть еще база небольшая 4 Гб и всего 6 коннектов, при общих тормозах - подвисают все.
...
Рейтинг: 0 / 0
25.12.2012, 20:30
    #38092538
Ivan_Pisarevsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема падения производительности БД Firebird 2.1.4 при большом ко-ве подключений(200)
Alex_ChechelDefaultDBCachePages=2048
Alex_ChechelPage buffers 512Кто победит, слон или кит? (512 имеют приоритет)
Alex_ChechelРазмер БД: 20ГБ
Alex_ChechelPage size 4096Я бы увеличил размер странички.
...
Рейтинг: 0 / 0
25.12.2012, 20:40
    #38092551
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема падения производительности БД Firebird 2.1.4 при большом ко-ве подключений(200)
Alex_Chechel,

значит диск.
...
Рейтинг: 0 / 0
25.12.2012, 20:42
    #38092556
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема падения производительности БД Firebird 2.1.4 при большом ко-ве подключений(200)
Alex_Chechelза каким параметром лучше следить через fb_lock_print?

"Length", "Used", "Hash Slots", "Hash Lengths", "Mutex wait".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25.12.2012, 20:46
    #38092563
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема падения производительности БД Firebird 2.1.4 при большом ко-ве подключений(200)
Alex_Chechelпомимо основной базы (20Гб) есть еще база небольшая 4 Гб и всего 6
коннектов, при общих тормозах - подвисают все.
В таком случае я бы рекомендовал обсудить с разработчиком приложения возможность миграции
на версию 2.5.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25.12.2012, 20:59
    #38092577
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема падения производительности БД Firebird 2.1.4 при большом ко-ве подключений(200)
Dimitry Sibiryakov,

я бы обсудил что такого случилось в понедельник, и что произошло после restore (сегодня). Потому что ФБ "внезапно" тормозить не начинает.
Я допускаю, что случайно могли уменьшить размер страницы, что могли влупить эти самые 512 страниц кэша вместо того что было раньше, и т.д.
До тех пор пока сам автор не найдет "как было" и "как стало", чинить, в общем-то, нечего. Ну можно что-то в конфиге увеличить, но на прежний уровень производительность эти изменения не вернут.
...
Рейтинг: 0 / 0
25.12.2012, 21:06
    #38092580
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема падения производительности БД Firebird 2.1.4 при большом ко-ве подключений(200)
kdvПотому что ФБ "внезапно" тормозить не начинает.
Начинает, Дим, начинает. Внутренняя сортировка, например, превращается во внешнюю именно
что "внезапно". Но аффтар упорно далдычит обычную тупость про "тормозит всё" вместо
конкретных цифр статистики.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25.12.2012, 22:05
    #38092622
Alex_Chechel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема падения производительности БД Firebird 2.1.4 при большом ко-ве подключений(200)
Dimitry Sibiryakov, kdv
Что касается рестора базы сегодня - он прошел успешно, все индексы удачно развернулись.
Что конкретно меняли не могу точно сказать, потому что менял не я, а наш админ. Говорит добавлял семафоры для ядра, может чего-то лишнего накрутил, но якобы, уже прошло дней 5-6 с момента замены, а проявлось только сейчас. Также меняли параметры в конфиге firebird (тоже около недели назад, те, о которых я написал выше), но сегодня утром вернули на дефолтные. При простое сервера скорость работы диска при копировании на себя 140 МБ/с, при копировании на другой массив до 160 МБ/с. Диски SAS
...
Рейтинг: 0 / 0
25.12.2012, 22:07
    #38092625
Alex_Chechel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема падения производительности БД Firebird 2.1.4 при большом ко-ве подключений(200)
Dimitry SibiryakovВ таком случае я бы рекомендовал обсудить с разработчиком приложения возможность миграции
на версию 2.5.

Поробуем сегодня перейти на 2.5. Разработчик одобрил.
...
Рейтинг: 0 / 0
25.12.2012, 22:37
    #38092655
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема падения производительности БД Firebird 2.1.4 при большом ко-ве подключений(200)
Alex_Chechel,

настройки ядра поменял, или ядро обновил? и производительности диска пришел амбец. Тогда выкладывай, что было ДО, и ПОСЛЕ.
...
Рейтинг: 0 / 0
25.12.2012, 22:39
    #38092657
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема падения производительности БД Firebird 2.1.4 при большом ко-ве подключений(200)
Alex_Chechel,

не надо дергаться так сейчас. трясите админа, что он сделал. Еще раз повторяю, что конфигом и прочим вы вытянете ну процентов 20 может быть. А переходом на 2.5 можете запросто угробить производительность некоторых тяжелых запросов.
...
Рейтинг: 0 / 0
26.12.2012, 01:29
    #38092783
Marcello
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема падения производительности БД Firebird 2.1.4 при большом ко-ве подключений(200)
kdvА переходом на 2.5 можете запросто угробить производительность некоторых тяжелых запросов.Где можно почитать про особенности FB 2.5 по части "тяжелых запросов" ?
...
Рейтинг: 0 / 0
26.12.2012, 07:33
    #38092844
Alex_Chechel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема падения производительности БД Firebird 2.1.4 при большом ко-ве подключений(200)
pastorAlex_Chechel,

для такой базы маловат размер страницы. посмотрите экспертом статистику по индексам, если перевалило за 4 level - то может быть оно

Со статистикой для индексов все ок, самые глубокие индексы = 3. Один не часто используемый=4. В основном все 2 и 1. Дубликаты индексов есть в часто используемых таблицах, но такова логика бизнес-процессов, от этого нам не убежать. Дело не в этом.
Что в итоге сделали и что получилось:
Перешли на FB 2.5
размер кэша страницы увеличили до 4096 (также хочу уточнить, что этот параметр, в качестве эксперимента, изменили на 512 уже когда начались подвисания)
выставили параметры в firebird.config:
TempDirectories = /tmp
DefaultDbCachePages = 4096
LockSemCount = 64
LockMemSize = 71600000
LockHashSlots = 877
Стало заметно лучше.
Вот статистика по fb_lock_print:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
root@rusql:/usr/lib/nagios/plugins# /opt/firebird/bin/fb_lock_print -iaw 2 5 -d /home/delfin/db/base.gdb
09:28:19 acquire/s acqwait/s  %acqwait acqrtry/s rtrysuc/s    wait/s  reject/s timeout/s blckast/s  wakeup/s dlkscan/s deadlck/s
09:28:21     32464      9771        30     32464         0        56         5         0        58        58         0         0
09:28:23     18432      1838         9     18432         0       119       108         0       441       441         0         0
09:28:25     13528      1182         8     13528         0       120         2         0       122       122         0         0
09:28:27     45469     18648        41     45469         0      1756       976         0      8021      8420         0         0
09:28:29     29464      8693        29     29464         0       501       119         0      1343      1451         0         0

Average:     27872      8026        28     27872         0       510       242         0      1997      2098         0         0
root@rusql:/usr/lib/nagios/plugins# /opt/firebird/bin/fb_lock_print -d /home/delfin/db/base.gdb
LOCK_HEADER BLOCK
        Version: 145, Active owner: 9269840, Length: 71600000, Used: 28385808
        Flags: 0x0001
        Enqs: 120795467, Converts: 403346, Rejects: 300757, Blocks: 2032555
        Deadlock scans:      0, Deadlocks:      0, Scan interval:  10
        Acquires: 133014406, Acquire blocks: 26313350, Spin count:   0
        Mutex wait: 19.8%
        Hash slots:  877, Hash lengths (min/avg/max):   60/  79/  98
        Remove node:      0, Insert queue:      0, Insert prior:      0
        Owners (126):   forward:  30000, backward: 26826920
        Free owners (1):        forward: 12532592, backward: 12532592
        Free locks (20486):     forward:  21120, backward: 8740056
        Free requests (27075):  forward: 11142312, backward: 9881552
        Lock Ordering: Enabled
...
Рейтинг: 0 / 0
26.12.2012, 09:49
    #38092912
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема падения производительности БД Firebird 2.1.4 при большом ко-ве подключений(200)
Alex_Chechelразмер кэша страницы увеличили до 4096 (также хочу уточнить, что этот параметр, в качестве эксперимента, изменили на 512 уже когда начались подвисания)

вы там не офигели, в классике 4096к при 200 пользователях ставить? Эксперименторы...
А тут вам еще посоветовали размер страницы увеличить (что верно) до 8-16к. И что тогда будет при ваших экспериментах?
Вы прямо на ходу заднее колесо велосипеда меняете.

Alex_Chechelвыставили параметры в firebird.config:
DefaultDbCachePages = 4096
эээ, или трусы надень, или крестик сними. Ну или что-нибудь почитай, хоть тут, про установку размера кэша. Где ее ставить, и сколько.

Третий раз говорю - не надо метаться, нужно у админа под пытками выяснить что он менял.
...
Рейтинг: 0 / 0
26.12.2012, 10:47
    #38093006
Alex_Chechel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема падения производительности БД Firebird 2.1.4 при большом ко-ве подключений(200)
Dimitry SibiryakovkdvПотому что ФБ "внезапно" тормозить не начинает.
Начинает, Дим, начинает. Внутренняя сортировка, например, превращается во внешнюю именно
что "внезапно". Но аффтар упорно далдычит обычную тупость про "тормозит всё" вместо
конкретных цифр статистики.

Подскажите, пожалуйста, какие конкретно цифры нужны?
...
Рейтинг: 0 / 0
26.12.2012, 10:52
    #38093017
Alex_Chechel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема падения производительности БД Firebird 2.1.4 при большом ко-ве подключений(200)
kdvAlex_Chechelразмер кэша страницы увеличили до 4096 (также хочу уточнить, что этот параметр, в качестве эксперимента, изменили на 512 уже когда начались подвисания)
вы там не офигели, в классике 4096к при 200 пользователях ставить? Эксперименторы...
А тут вам еще посоветовали размер страницы увеличить (что верно) до 8-16к. И что тогда будет при ваших экспериментах?
Вы прямо на ходу заднее колесо велосипеда меняете.
Alex_Chechelвыставили параметры в firebird.config:
DefaultDbCachePages = 4096
эээ, или трусы надень, или крестик сними. Ну или что-нибудь почитай, хоть тут, про установку размера кэша. Где ее ставить, и сколько.
Третий раз говорю - не надо метаться, нужно у админа под пытками выяснить что он менял.

Пока админ молчит. По поводу параметра DefaultDbCachePages = 4096, я знаю что параметр buffers в БД имеет приоритет, в конфиге он установлен для дальнейшей стандартизации, напоминаю, что баз на сервере несколько. Сейчас ОП хватает, вот параметры топа:
Код: sql
1.
2.
3.
4.
5.
top - 12:51:22 up 59 days, 14:08,  2 users,  load average: 0.41, 0.67, 0.78
Tasks: 616 total,   1 running, 615 sleeping,   0 stopped,   0 zombie
Cpu(s):  6.3%us,  0.5%sy,  0.0%ni, 93.2%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  33015888k total, 14457076k used, 18558812k free,    47268k buffers
Swap:  5846008k total,        0k used,  5846008k free, 10581412k cached


В дальнейшем, когда поменяю размер страницы БД, я уменьшу кэш.
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Проблема падения производительности БД Firebird 2.1.4 при большом ко-ве подключений(200) / 25 сообщений из 31, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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