powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / fb_lock_print -d при нормальной нагрузке
55 сообщений из 55, показаны все 3 страниц
fb_lock_print -d при нормальной нагрузке
    #38631875
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При штатной нагрузке снимаю показания fb_lock_print -d:

LOCK_HEADER BLOCK
Version: 145, Active owner: 18740408, Length: 25600000, Used: 20939056
Flags: 0x0001
Enqs: 16615746268, Converts: 32087757, Rejects: 256624916, Blocks: 23096686
Deadlock scans: 201, Deadlocks: 1, Scan interval: 10
Acquires: 16951459137, Acquire blocks: 4208755341, Spin count: 0
Mutex wait: 24.8%
Hash slots: 10007, Hash lengths (min/avg/max): 0/ 1/ 9
Remove node: 0, Insert queue: 0, Insert prior: 0
Owners (188): forward: 3890904, backward: 15519968
Free owners (39): forward: 5333208, backward: 20419528
Free locks (7614): forward: 93120, backward: 238968
Free requests (-915950348): forward: 4526656, backward: 2810128
Lock Ordering: Enabled


Спецы посоветовали обратится к разработчикам FB. Что тут не так?
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38631890
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar,

снимай показания хотя бы раз в полчаса, чтобы динамику видеть.

Подозрительно только большое кол-во Free requests (аж счётчик переполнился).
Хотя, на активной живой системе без ключа -с этому тоже верить не особо можно.
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38631900
Фотография Alexey Kovyazin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Много mutex wait.
Это означает, что приложение разработано таким образом, что постоянно лезет к каким-то ресурсам, получает отлуп и снова лезет.

Например, такого можно добиться, если сделать цикл с условием выхода по времени , внутри которого идет попытка апдейта некой записи, в случае возникновения ошибки она давится, и снова идет попытка апдейта.
Цель такого цикла - пытаться захватить запись на чтение путем холостого апдейта. При длине цикла в 3 сек сервер может сделать тысячи (а то и десятки тысяч) безуспешных апдейтов.

Также много Deadlock scan - это когда по истечении [дефолтных] 10 сек Firebird лезет проверять, а не дедлок ли это возник? И из 201 сканов только 1 дедлок - т.е. написано так, что бывают 10 секундные зависания.

Так что обращаться к разработчикам Firebird незачем, надо учиться писать правильные приложения.
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38631923
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А это не может быть разновидность CORE-2591 ?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632000
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladGallemar,

снимай показания хотя бы раз в полчаса, чтобы динамику видеть.

Подозрительно только большое кол-во Free requests (аж счётчик переполнился).
Хотя, на активной живой системе без ключа -с этому тоже верить не особо можно.
запущу на каждые полчаса. С ключом -d делать?
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632040
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar,

-c -d <database>

PS ничего ты там не найдёшь
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632167
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladGallemar,

-c -d <database>

PS ничего ты там не найдёшь
Что тогда делать? Как найти узкое место?
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632170
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Начал снимать данные fb_lock_print -d -c c:\S-Market\DBase\SUPERMAGDK.FDB, почему то получаю сообщение об ошибке:
Firebird lock print utility.
Usage: fb_lock_print (-d | -f) [<parameters>]

One of -d or -f switches is mandatory:
-d <database file name> specify database which lock table to be printed
-f <lock table file name> specify lock table file itself to be printed

Optional parameters are:
-o print list of lock owners
-p same as -o
-l print locks
-r print requests made by lock owners (valid only if -o specified)
-h print recent events history
-a print all of the above (equal to -o -l -r -h swithes)
-s <N> print only locks of given series (valid only if -l specified)
-n print only pending owners (if -o specified) or
pending locks (if -l specified)
-w print "waiting for" list for every owner
(valid only if -o specified)
-c acquire lock manager's mutex to print consistent view of
lock table (valid only if -d specified)
-m make output in html format

-i[<counters>] [<N> [<M>]] interactive mode:
print chosen lock manager activity counters during <N> seconds
witn interval of <M> seconds. Defaults are 1 sec for both values.
Counters are:
a number of mutex acquires, acquire blocks, etc
o number of lock operations (enqueues, converts, downgrades, etc)
t number of operations with most important lock series
w number of waits, timeouts, deadlock scans, etc
Default is aotw

-? this help screen


Как тогда выглядят правильные аргументы?
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632172
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar> Как тогда выглядят правильные аргументы?

fb_lock_print -d c:\S-Market\DBase\SUPERMAGDK.FDB -c
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632173
Фотография zirra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar> Начал снимать данные fb_lock_print -d -c c:\S-Market\DBase\SUPERMAGDK.FDB, почему то получаю сообщение об ошибке:
Ну сказал же Влад: -c -d <database>!!!
А не наоборот, как ты пытаешься делать...

--
Vladimir A.Bakhvaloff
E-Mail: zirra1969<bark>gmail<dot>com

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632174
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Значение не в "наобороте" (можно и как Влад указал, AFAIK),
а в том, что имя (путь) файла БД - это параметр ключа d, а не с.

P.S. Можно ещё результат в файл выводить.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632177
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zirraGallemar> Начал снимать данные fb_lock_print -d -c c:\S-Market\DBase\SUPERMAGDK.FDB, почему то получаю сообщение об ошибке:
Ну сказал же Влад: -c -d <database>!!!
А не наоборот, как ты пытаешься делать...

--
Vladimir A.Bakhvaloff
E-Mail: zirra1969<bark>gmail<dot>com



Наоборот такая же судорога
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632178
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамЗначение не в "наобороте" (можно и как Влад указал, AFAIK),
а в том, что имя (путь) файла БД - это параметр ключа d, а не с.

P.S. Можно ещё результат в файл выводить.

Целиком это выглядит так:
C:
cd C:\Program Files\Firebird\Firebird_2_5\bin

set VTIME=%time:~0,-3%
set VTIME=%VTIME::=.%
fb_lock_print -c -d c:\S-Market\DBase\SUPERMAGDK.FDB -c >> D:\fb_lock_print_%date%_%VTime%.txt
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632179
Фотография zirra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Значение не в "наобороте" (можно и как Влад указал, AFAIK),
> а в том, что имя (путь) файла БД - это параметр ключа d, а не с.
Я это и имел в виду... ;)))

--
Vladimir A.Bakhvaloff
E-Mail: zirra1969<bark>gmail<dot>com

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632180
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вернее вот так:
C:
cd C:\Program Files\Firebird\Firebird_2_5\bin

set VTIME=%time:~0,-3%
set VTIME=%VTIME::=.%
fb_lock_print -c -d c:\S-Market\DBase\SUPERMAGDK.FDB >> D:\fb_lock_print_%date%_%VTime%.txt

а то к лишней -с прицепится кто нибудь
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632187
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarЧто тогда делать? Как найти узкое место?Начать с начала, а не с откуда попало.
Симптомы проблем какие ?
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632196
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad,база после рестора через полтора-два месяца теряет производительность,усеры жалуются на тормоза
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632334
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так как правильно снять данные с ключами -с -d ?
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632381
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemarhvlad,база после рестора через полтора-два месяца теряет производительность,усеры жалуются на тормозаУ "базы" нет "производительности".
Есть запросы, есть рантайм статистика, есть ДБА, который должен знать как запросы ведут себя обычно и какие запросы начинают "тормозить" и при каких условиях.
Есть мониторинг и трейс, которые позволяют исследовать состояние после рестора и два месяца спустя.

Состояние таблицы блокировок - это последнее место, куда тебе, как ДБА, нужно смотреть.
Тем более, что базовая её настройка уже произведена.
Тем более, что ты не понимаешь чисел, которые в ней присутствуют (без обид).

GallemarТак как правильно снять данные с ключами -с -d ?Указывать файл БД параметром для -d и писать таки латинскую "c"
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632392
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladGallemarhvlad,база после рестора через полтора-два месяца теряет производительность,усеры жалуются на тормозаУ "базы" нет "производительности".
Есть запросы, есть рантайм статистика, есть ДБА, который должен знать как запросы ведут себя обычно и какие запросы начинают "тормозить" и при каких условиях.
Есть мониторинг и трейс, которые позволяют исследовать состояние после рестора и два месяца спустя.

Состояние таблицы блокировок - это последнее место, куда тебе, как ДБА, нужно смотреть.
Тем более, что базовая её настройка уже произведена.
Тем более, что ты не понимаешь чисел, которые в ней присутствуют (без обид).

GallemarТак как правильно снять данные с ключами -с -d ?Указывать файл БД параметром для -d и писать таки латинскую "c"

Таки получилось.
С тобой как то можно приватно пообщаться (mail,icq,skype)?
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632393
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у меня уже ощущение что стабильно работающая БД это или база в 2-3 гига,которую каждый день ресторят или это мифическое создание,её никто не видел,но все о ней говорят
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632440
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemarу меня уже ощущение что стабильно работающая БД это или база в 2-3 гига,которую каждый день ресторят или это мифическое создание,её никто не видел,но все о ней говорят1) Ты с теми запросами, что сотни секунд идут, разобрался или нет ? (я про результат трейса, который ты мну присылал недели три взад, а я на них натравливал grep + sort и вернул тебе в виде "рейтинга" номера строк, в которых записана статистика с самыми проблемными значениями времени вып-я)
2) Статистику по индексам обновляешь или снова "до понедельника" отложил ?
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632447
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗЫ.
Пункт "1)", ЕМНИП, ты должен применять уже месяц как.
Запускать трейс утром, ставить там порог time_threshold = 2000 (например), ждать 5-6 часов. Затем изучать полученный лог (вместе с разрабом :)).
Какие-нить результаты этой деятельности есть или нет ?
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632452
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТаблоидЗЫ.
Пункт "1)", ЕМНИП, ты должен применять уже месяц как.
Запускать трейс утром, ставить там порог time_threshold = 2000 (например), ждать 5-6 часов. Затем изучать полученный лог (вместе с разрабом :)).
Какие-нить результаты этой деятельности есть или нет ?
1. Изучаем с разработчиком,пока ничего не увидели.
2. Статистику пересчитываю давно,после поломки делали рестор,так что чистота эксперимента нарушена.

Для аудита выпросил Fb TraceManager, с ним удобнее
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632455
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоид1) Ты с теми запросами, что сотни секунд идут, разобрался или нет ? (я про результат трейса, который ты мну присылал недели три взад, а я на них натравливал grep + sort и вернул тебе в виде "рейтинга" номера строк, в которых записана статистика с самыми проблемными значениями времени вып-я)
2) Статистику по индексам обновляешь или снова "до понедельника" отложил ?
С запросами косяк главный в том что это как правило большие отчеты или работа модуля заказов,это очень нагруженные процессы.
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632456
СИА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gallemarу меня уже ощущение что стабильно работающая БД это или база в 2-3 гига,которую каждый день ресторят или это мифическое создание,её никто не видел,но все о ней говорят

Обрати внимание на вот это:

Alexey KovyazinМного mutex wait.
Это означает, что приложение разработано таким образом, что постоянно лезет к каким-то ресурсам, получает отлуп и снова лезет.

Например, такого можно добиться, если сделать цикл с условием выхода по времени , внутри которого идет попытка апдейта некой записи, в случае возникновения ошибки она давится, и снова идет попытка апдейта.
Цель такого цикла - пытаться захватить запись на чтение путем холостого апдейта. При длине цикла в 3 сек сервер может сделать тысячи (а то и десятки тысяч) безуспешных апдейтов.


У С-Маркета, если я не ошибаюсь, ноги растут из Мира Торговли, а когда-то давно я имел дело с этим продуктом. И там, опять таки если мне не изменяет склероз, все операции, изменяющие складские регистры, делались как раз вышеописанным образом.
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632465
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СИА, я насчет Мира торговли уточню. По ответу Ковязина разработчик ответил:

Леонид
ну чего Ковязин говорит - мы такой херней не занимаемся, если только FIB сам, да и то слабо себе представляю зачем и это, да и не идиоты его писали.
Про остальное ничего не могу сказать
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632479
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarС тобой как то можно приватно пообщатьсяМыл вроде и так всем известен. Но чудес не ожидай :)
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632480
СИА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gallemar, а ты DDL глянь, там подозрительных циклов нету? UDF типа Sleep не подключаются?
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632486
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СИАGallemar, а ты DDL глянь, там подозрительных циклов нету? UDF типа Sleep не подключаются?
по UDF не подключается,но лучше у разработчика уточнить
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632487
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladGallemarС тобой как то можно приватно пообщатьсяМыл вроде и так всем известен. Но чудес не ожидай :)
Да я и в Деда Мороза давно не верю :)
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632504
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemarмы такой херней не занимаемся
Зато они занимаются хернёй в виде массовых апдейтов 100500 записей. В морг.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632506
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovGallemarмы такой херней не занимаемся
Зато они занимаются хернёй в виде массовых апдейтов 100500 записей. В морг.

Дима,а как ещё реестры по партионке,остаткам и продажам занести? Таблицу удалить и заново заполнить*
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632508
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarС запросами косяк главный в том что это как правило большие отчеты или работа модуля заказов,это очень нагруженные процессы.1) Эти самые "большие отчеты" (да и "работа модуля заказов") - они точно должны работать на том же хосте, что и обычные пользователи ? Их на хост с какой-нить совсем-недавней-копией никак нельзя пересадить ?
2) Планы выполнения и статистика по таблицам этих "больших отчетов" - так и останутся Великой тайной Забайкалья ?
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632510
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
?
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632512
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarDimitry Sibiryakovпропущено...

Зато они занимаются хернёй в виде массовых апдейтов 100500 записей. В морг.

Дима,а как ещё реестры по партионке,остаткам и продажам занести? Таблицу удалить и заново заполнить*
ДС, кстати, уже высказывался на эту тему.
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632513
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miwaonlineGallemarпропущено...

Дима,а как ещё реестры по партионке,остаткам и продажам занести? Таблицу удалить и заново заполнить*
ДС, кстати, уже высказывался на эту тему.
Хы,разработчику покажу
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632517
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТаблоидGallemarС запросами косяк главный в том что это как правило большие отчеты или работа модуля заказов,это очень нагруженные процессы.1) Эти самые "большие отчеты" (да и "работа модуля заказов") - они точно должны работать на том же хосте, что и обычные пользователи ? Их на хост с какой-нить совсем-недавней-копией никак нельзя пересадить ?
2) Планы выполнения и статистика по таблицам этих "больших отчетов" - так и останутся Великой тайной Забайкалья ?
1. Частично перенесены в аналитику,но кому то нужны оперативные данные.
2. Нет,поделюсь когда отсортировка по усерам будет. У меня не Забайкалье,а Прибайкалье :)
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632519
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забайкалье это Чита, чи не та
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632581
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar1. Частично перенесены в аналитику,но кому то нужны оперативные данные.Выскажу ересь, наверное, но: что мешает тебе перенаправить их любопытство с базы-продакшена на... базу-репликант ? Ведь она содержит такие же оперативные данные, с отставанием несколько десятков секунд или пару-тройку минут. Она живёт на другом хосте, к ней лезет только один IBPRepl, он потерпит соседей. И в ней наверняка выключены триггера.
А те, кто запускают "тяжкие отчёты", они ведь ничего не меняют в данных при этом ? (понятно, что в аудите наверняка меняют, типа: "Иванов запустил Супер-пупер Отчёт номер 1" - но это не в счёт).
Gallemar2. Нет,поделюсь когда отсортировка по усерам будет.Дело твоё. Только что даст эта самая "отсортировка по усерам", какую доп. инфу она несёт ?

ЗЫ. Ты просил юзеров о том, чтобы в момент тормозов они показали тебе конкретный режим, который тупит, но который в обычных случаях - летает ? Это ведь и будут первые зацепки. Там наверняка не навороченные "тяжкие запросы", а что-нить типа 3-4 джойнов...
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632596
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоид,натравлю,только когда продуктив по производительности подтяну. Сейчас ещё 20 усеров подкинули,везде жмет. Ну и один из пересчетов забивает таблицу реплики до неприличия,ищу какой нибудь выход (например выкинуть вообще эти таблицы из пересчетов).
По сортировке - у меня есть 2-3 усера от работы которых многое зависит и за тормоза в работе они дерут три шкуры. Упор на них. Ну и нужен отбор по клиентам,т.к. их просто много (оперативные данные,отчеты,1с,аналитика).
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632597
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemarу меня уже ощущение что стабильно работающая БД это или база в 2-3 гига,которую каждый день ресторят или это мифическое создание,её никто не видел,но все о ней говорятбаза почти 40 гб, ресторилась за последние пару лет 1 раз, меньше сотни коннектов в рабочее время не бывает. тьфу3х работает вполне себе стабильно.

Там ли ты ищешь проблему?
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632601
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Простой пример тормозов - усеры запустили заказы,разнос оплат,20 разных отчетов 100 человек,50 забивает одни документы,ещё 50 - совершенно другие. Тормозит у всех. Что это значит - заказы сформируют на 10 минут позже,отчеты долго выбираются - вместо 5 минут - 10, документ вместо 1 минуты оприходуется 4 минуты. у меня такого что вот кто то запустил что то - и все сидят курят. Обычно базу вешают суммарной работой. Вешают это не значит что база не рабочая,работать становится некомфортно. Ну и чем больше времени проходит от рестора тем ярче это выражено.
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632603
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_PisarevskyGallemarу меня уже ощущение что стабильно работающая БД это или база в 2-3 гига,которую каждый день ресторят или это мифическое создание,её никто не видел,но все о ней говорятбаза почти 40 гб, ресторилась за последние пару лет 1 раз, меньше сотни коннектов в рабочее время не бывает. тьфу3х работает вполне себе стабильно.

Там ли ты ищешь проблему?
Не знаю
Я могу также показать БД в 15 гигов,не рестореные годами и ничего. ПО тоже самое. Просто разница в усерах - одни колошматят приходы и не парятся,другие функционал используют на 99%. В чем причины падения производительности - я не вижу. Но факт - чем больше усеров и больше БД,тем меньше время от рестора до рестора.
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632611
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemarу меня есть 2-3 усера от работы которых многое зависит и за тормоза в работе они дерут три шкуры. Упор на них.Остановись пока только на них, раз они такие "критичные".

Что именно они делают, только ли запросы или еще и меняют там что-то ?
Надо выдернуть (из трейса, вестимо) 3-4 действия (select'a или DML), которые достаточно часто ими делаются, и которые длятся свыше 1-2 секунд. С конкретными значениями параметров.
Затем:
1) самому запустить их в 10 утра, в 13 и 17 дня, при чём по 3-4 раза в каждый "забег". Записать статистику по каждому запуску.
2) запустить их же, когда начнутся тормоза. Записать статистику.

Так хоть что-то будет, помимо этих таинственных стуков... :-)

ЗЫ. Кста! А натравливал ли ты на свой продакшен такую хорошую утилиточку, как IBAnalyst ? И если да, то что она тебе сказала в своём отчете с рекомендациями ?
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632630
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, и вот еще что.

1. Несмотря на то, что у тебя поднят IBPRepl, у тебя там с еще и с nbackup'ом какая-то возня, так ведь?
Про то, что он шуршит по ВСЕМУ файлу твоей базы в поисках 10 изменённых страниц - ты ведь знаешь, разумеется (это не так только в 3.0).
Запусти какой-нибудь "тяжкий" запрос, выполняемый кем-то из тех троих vip-юзеров, несколько раз до энбекапа. Запиши статистику.
Дальше сделай энбекап и повтори после него этот же запрос. Будет ли разница ? (мну мерешится, что будет, ибо энбекап должен вытеснить из кеша данные, вычитанные туда "тяжким" запросом)

2. Мой продакшен:
::: NB ::: FW = OFF!
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
$ gstat -h prodalias

Database "/var/db/firebird/prodfile.fdb"
Database header page information:
        Flags                   0
        Checksum                12345
        Generation              677908538
        Page size               16384
        ODS version             11.2
        Oldest transaction      653443008
        Oldest active           653443009
        Oldest snapshot         653443009
        Next transaction        653443014
        Bumped transaction      1
        Sequence number         0
        Next attachment ID      24465399
        Implementation ID       24
        Shadow count            0
        Page buffers            0
        Next header page        0
        Database dialect        1
        Creation date           Oct 2, 2012 21:45:05

    Variable header data:
        Sweep interval:         0
        *END*
И мой репликант продакшена:
::: NB ::: FW = ON
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
$ gstat -h 192.168.0.61:/u01/db/firebird/production/prodfile.fdb

Database "/u01/db/firebird/production/prodfile.fdb"
Database header page information:
        Flags                   0
        Checksum                12345
        Generation              467700955
        Page size               16384
        ODS version             11.2
        Oldest transaction      446454218
        Oldest active           446454219
        Oldest snapshot         446454219
        Next transaction        446454220
        Bumped transaction      1
        Sequence number         0
        Next attachment ID      21246626
        Implementation ID       24
        Shadow count            0
        Page buffers            0
        Next header page        0
        Database dialect        1
        Creation date           Oct 2, 2012 21:45:05
         Attributes              force write 

    Variable header data:
        Sweep interval:         0
        *END*
База репликанта грузится только IBPRepl'ом, так что FW = ON на скорость там влияет мало (если вообще влияет). А вот отключка FW на продакшене - еще как повлияла!
SOS-дока и скрипт для восстановления с базы-репликанта всегда под рукой. Метаданные синхронизятся по расписанию, несколько раз в сутки (переносится всё, за исключением DDL таблиц - это надо врупопашную разруливать; но это и нечасто требуется).
И не говорите мну, что мы тут буратины-камикадзе. В бою проверялось уже раза три или четыре, не помню - ничего, выжили.
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632634
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоид,Паша,если ты такой злобный буратин то покажи MaxUnflushdWrites и MaxUnflushdWritesTime из конфига.
С FW связываться не хочется, например MySQL в таком режиме пашет по дефолту,там после каждой перезагрузки гемор в виде проверок лезет.
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632639
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarТаблоид,Паша,если ты такой злобный буратин то покажи MaxUnflushdWrites и MaxUnflushdWritesTime из конфига.вот изменённые параметры нашего конфига на продакшене (используется SC):
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
$ grep "^[^#;]" firebird.conf | sort
BugcheckAbort = 1
ConnectionTimeout = 90
DefaultDbCachePages = 768
ExternalFileAccess = Restrict /opt/firebird/scripts
LockHashSlots = 25013
LockMemSize = 4194304
MaxUnflushedWrites = -1
MaxUnflushedWriteTime = -1
TempCacheLimit = 2147483648

GallemarС FW связываться не хочется, например MySQL в таком режиме пашет по дефолту,там после каждой перезагрузки гемор в виде проверок лезет.А причём тут MySQL ?!
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632642
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТаблоидGallemarТаблоид,Паша,если ты такой злобный буратин то покажи MaxUnflushdWrites и MaxUnflushdWritesTime из конфига.вот изменённые параметры нашего конфига на продакшене (используется SC):
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
$ grep "^[^#;]" firebird.conf | sort
BugcheckAbort = 1
ConnectionTimeout = 90
DefaultDbCachePages = 768
ExternalFileAccess = Restrict /opt/firebird/scripts
LockHashSlots = 25013
LockMemSize = 4194304
MaxUnflushedWrites = -1
MaxUnflushedWriteTime = -1
TempCacheLimit = 2147483648


MaxUnflushedWrites = -1,MaxUnflushedWriteTime = -1 - минус один это что значит?
LockHashSlots = 25013 - а как же рекомендованые 10007 ? Hash lengths покажи свой.
TempCacheLimit = 2147483648 - зачем так много?
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632648
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar> MaxUnflushedWrites = -1,MaxUnflushedWriteTime = -1 - минус один это что значит?

Почему бы не глянуть в описании? Там же ясно написано, что это Disable.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632651
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамGallemar> MaxUnflushedWrites = -1,MaxUnflushedWriteTime = -1 - минус один это что значит?

Почему бы не глянуть в описании? Там же ясно написано, что это Disable.

Точно,проглядел
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632679
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоид,скинул рекомендации на почту
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632693
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на редкость непонятный топик.
"у меня тормозит"
"что тормозит?"
"всё тормозит!"

ни запросов, ни планов, ни статистики выполнения, ну вообще ничего, только поиск волшебной настройки в конфиге "fast=true"
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632740
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrow> на редкость непонятный топик.

Не мешай процессу. Понятность и полезный выхлоп тут целью не ставятся.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
fb_lock_print -d при нормальной нагрузке
    #38632760
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarMaxUnflushedWrites = -1,MaxUnflushedWriteTime = -1 - минус один это что значит?Выставлено было сознательно. Но очень давно 2.5 года взад, в эпоху CS. Причину не помню, увы.

GallemarLockHashSlots = 25013 - а как же рекомендованые 10007 ?Это был тяжкий поиск истины. Вот фрагмент firebird.conf'a:
Код: plaintext
1.
2.
3.
4.
5.
6.
# 05.03.2012 1545, Zotov, due to migr to SC:
#LockHashSlots = 10091
#LockHashSlots =3169
# 12.03.2012 1755, Zotov
# increase again hashslots due to big average hash length = 10 (min/avg/max = 2/10/22 - looked at fb_lock_print log header blobk)
#
LockHashSlots = 25013
GallemarHash lengths покажи свой.Во:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
LOCK_HEADER BLOCK
        Version: 145, Active owner:      0, Length: 16777216, Used: 15370120
        Flags: 0x0001
        Enqs: 4965464803, Converts: 4112219, Rejects: 4736934, Blocks: 9260303
        Deadlock scans:   4700, Deadlocks:     18, Scan interval:  10
        Acquires: 5231540024, Acquire blocks: 118286690, Spin count:   0
        Mutex wait: 2.3%
        Hash slots: 25013, Hash lengths (min/avg/max):    0/   0/   6
        Remove node:      0, Insert queue:      0, Insert prior:      0
        Owners (90):    forward: 2341864, backward: 1511896
        Free owners (194):      forward: 15194912, backward: 6584744
        Free locks (17719):     forward: 2120640, backward: 13493704
        Free requests (137843): forward: 6924504, backward: 11649352
        Lock Ordering: Enabled
(но это сейчас, через 2-3 часа нагрузка будет посильнее)

GallemarTempCacheLimit = 2147483648 - зачем так много?Ооо! А это вообще отдельная песня! :-)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
# Type: integer
#
#TempCacheLimit = 67108864

# discussion:  http://tracker.firebirdsql.org/browse/CORE-3787 
# 10.04.2012 17:00, Zotov:
# disabled 16.10.2012: TempCacheLimit = 536870912

# 16.10.2012 1430, Zotov:
#TempCacheLimit = 1073741824

# 17.10.2012 1550, Zotov: 
# max detected size of fb_sort_* files was 1.95 Gb over previous tempcachelimit=1Gb :(
# TempCacheLimit = 1585446912

# 17.10.2012 1750, Zotov:
# max detected size of fb_sort_* files was 599785472 over previous tempcachelimit = 1.5 Gb :(
TempCacheLimit = 2147483648

# by dimitr, see letter 17.10.2012 15:47
#268435456
TempSpaceLogThreshold = 536870912
Сделай батник, который будет раз в 3-5 сек "фоткать" командой dir времянки - файлы fb_sort*, создаваемые ФБ при выполнении сортировок (они будут в каталоге, заданном конфиг-параметром tempdirectories). Тебе нужен не их список, а сумма их размеров. Если он сильно здоровый, то твои запросы с сортировками (order by, group by) прут на диск :-) О производительности при этом даже не мечтай.
Это значит, что тебе нужно будет побольше задать TempCacheLimit, чтобы они (времянки) оставались как можно дольше в "нулевом виде".

ЗЫ. Из того, что я выудил тут и в переписке с Главным Источником Света, пришёл к выводу: TempCacheLimit можно ставить сразу в здоровое значение, чуть ли не в 2 Гб (при современных конфигах серверов). Всё равно память, которую ФБ затребует для сортировки чего-то там большого, будет отдана системе по окончании этой сортировки. Главное - не допущать своп.
...
Рейтинг: 0 / 0
55 сообщений из 55, показаны все 3 страниц
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / fb_lock_print -d при нормальной нагрузке
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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