|
deadlock scans
|
|||
---|---|---|---|
#18+
LOCK_HEADER BLOCK Version: 145, Active owner: 0, Length: 268435456, Used: 72199936 Flags: 0x0001 Enqs: 8503890202, Converts: 23541940, Rejects: 218154916, Blocks: 80569532 Deadlock scans: 727, Deadlocks: 0, Scan interval: 10 Acquires: 9194906265, Acquire blocks: 2283625727, Spin count: 0 Mutex wait: 24.8% 727 это нормально для нагруженной системы или ужас-ужас? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2015, 11:39 |
|
deadlock scans
|
|||
---|---|---|---|
#18+
беда этого показателя в том, что неизвестно - ждал кто-то один 700 раз или все твои 350 коннектов по два раза. Обычно в реальной жизни происходит второе. Т.е. дважды вся база не откликалась более чем 10 секунд. Я бы назвал такую систему перегруженной, утешает только то, что такие случаи видимо единичны. Единственная блокировка, которая в 2.5 ожидаемо может приводить к таким задержкам - мониторинг. Если бы ты следил за заголовком лок-принта в разрезе 10-15-30 минут, то мог бы прикинуть, может ли это быть мониторинг или нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2015, 12:11 |
|
deadlock scans
|
|||
---|---|---|---|
#18+
dimitrЕсли бы ты следил за заголовком лок-принта в разрезе 10-15-30 минут, то мог бы прикинуть, может ли это быть мониторинг или нет. А как прикинуть? Принты есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2015, 12:36 |
|
deadlock scans
|
|||
---|---|---|---|
#18+
посмотреть в какой интервал времени этот счетчик вспухает и поискать в какое время у тебя планово выполняются запросу к MON$ ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2015, 13:05 |
|
deadlock scans
|
|||
---|---|---|---|
#18+
Gallemar, оффтопну маленько. Для снижения вероятности дэдлоков есть простой best practice - при доступе к данным БД крайне желательно соблюдать одинаковый порядок обращения к ресурсам (таблицам). ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2015, 13:06 |
|
deadlock scans
|
|||
---|---|---|---|
#18+
dimitrпосмотреть в какой интервал времени этот счетчик вспухает и поискать в какое время у тебя планово выполняются запросу к MON$ Думаешь это запросы именно к mon$ ? Если да,то почему? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2015, 13:15 |
|
deadlock scans
|
|||
---|---|---|---|
#18+
DBConstructorGallemar, оффтопну маленько. Для снижения вероятности дэдлоков есть простой best practice - при доступе к данным БД крайне желательно соблюдать одинаковый порядок обращения к ресурсам (таблицам). Ты успокоишься? Сам то понял что сказал? Когда вы говорите, Иван Васильевич, впечатление такое, что вы бредите! ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2015, 13:17 |
|
deadlock scans
|
|||
---|---|---|---|
#18+
DBConstructor, я не понял. например, частый случай - в БД есть некая таблица "календарь" для сотрудников. Типа список работ, расписание, и т.д. И приложение при запуске обычно первым показывает пользователю этот самый календарь. Если туча народу сразу ломанется к БД, и все полезут в эту таблицу, тут и будет перегруз. На чтение, разумеется, мизер, а вот если туча народу обновляют одну таблицу, то увы. По идее, получается, что например репликатор, который складывает модифицируемые id в одну таблицу, при превышении определенной нагрузки начинает тормозить все сильнее. Репликатор просто пример, таких таблиц в БД может быть несколько. И какой тут "порядок"? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2015, 13:17 |
|
deadlock scans
|
|||
---|---|---|---|
#18+
GallemarДумаешь это запросы именно к mon$ ? Если да,то почему? я ничего не думаю, я выясняю. Если это мониторинг, то ситуацию можно считать почти нормальной, поводов для паники нет. Если что-то другое, тогда база перегружена и как минимум иногда наблюдаются нехилые тормоза при штатной работе. И с этим уже можно пытаться бороться. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2015, 13:25 |
|
deadlock scans
|
|||
---|---|---|---|
#18+
kdv, хороший, вырожденный пример! На нем и поясню, что имеется в виду. Допустим, календарь нормализован таким образом, что при добавлении нового задания обновляется как справочник заданий, так и сама таблица календаря. Иными словами имеем "строку данных", разбитую на две таблицы, хранящие разные сущности с отношением один-к-одному. Предположим, что есть две хранимые процедуры, одна из которых сначала обновляет таблицу календаря, а затем таблицу заданий. И есть другая хранимая процедура, которая, по какой-то непонятной нам причине, также производит обновление двух этих таблиц, но в обратном порядке. В результате, мы рискуем получить дэдлок, если пытаемся через эти SP обновить одни и те же строки. Естественно, что в больших базах данных это может быть обновление не одной, не двух, а доброго десятка таблиц. Так вот при блокировки записей в этих таблицах крайне желательно соблюдать идентичный порядок. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2015, 13:35 |
|
deadlock scans
|
|||
---|---|---|---|
#18+
DBConstructorkdv, хороший, вырожденный пример! На нем и поясню, что имеется в виду... Ты можешь придерживаться темы? Надоел своим "умными" мыслями. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2015, 13:36 |
|
deadlock scans
|
|||
---|---|---|---|
#18+
Я очепятался. "что при изменении задании обновляется..." ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2015, 13:37 |
|
deadlock scans
|
|||
---|---|---|---|
#18+
DBConstructor, абсолютно пофиг в какой последовательности внутри ХП ты обновляешь таблицы, потому что ХП делает все обновления в рамках одной транзакции. Gallemar, по сути на репликаторе как раз затык и может быть ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2015, 13:39 |
|
deadlock scans
|
|||
---|---|---|---|
#18+
GallemarТы можешь придерживаться темы? Надоел своим "умными" мыслями. Не психуй! Надо - намотай, не надо - пропусти. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2015, 13:39 |
|
deadlock scans
|
|||
---|---|---|---|
#18+
dimitrGallemarДумаешь это запросы именно к mon$ ? Если да,то почему? я ничего не думаю, я выясняю. Если это мониторинг, то ситуацию можно считать почти нормальной, поводов для паники нет. Если что-то другое, тогда база перегружена и как минимум иногда наблюдаются нехилые тормоза при штатной работе. И с этим уже можно пытаться бороться. Хм. У меня делается запрос к mon$ одним шедулером раз в 15 минут и одним раз в час. Сам убиваю производительность? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2015, 13:39 |
|
deadlock scans
|
|||
---|---|---|---|
#18+
Gallemar, вопрос - зачем. Ты как-то потом используешь собираемые данные? Я считаю, что mon$ достаточно собирать вручную, раза 3 в день (утром, днем и вечером), исключительно для поиска какой-то проблемы. Даже с поиском застревающих транзакций не вижу смысла собирать mon$ чаще чем раз в 2 часа. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2015, 13:42 |
|
deadlock scans
|
|||
---|---|---|---|
#18+
Симонов ДенисGallemar, по сути на репликаторе как раз затык и может быть Сейчас репликатор (IBReplicator) у меня не работает (с ним всё печально), жду Fb с встроенной репликацией и параллельно шупаю RDB. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2015, 13:43 |
|
deadlock scans
|
|||
---|---|---|---|
#18+
Симонов ДенисDBConstructor, абсолютно пофиг в какой последовательности внутри ХП ты обновляешь таблицы, потому что ХП делает все обновления в рамках одной транзакции. Очевидно же, что чтобы словить блокировку, эти две ХП должны выполняться в разных транзакциях. Не думал, что придется это пояснять... ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2015, 13:43 |
|
deadlock scans
|
|||
---|---|---|---|
#18+
GallemarХм. У меня делается запрос к mon$ одним шедулером раз в 15 минут и одним раз в час. Сам убиваю производительность? добавь замеры времени выполнения запросов к mon$. Если там минуты, то да - сам убиваешь. Если 20-30 секунд, то раз в 15 минут клиенты может и смогут это пережить. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2015, 13:44 |
|
deadlock scans
|
|||
---|---|---|---|
#18+
kdvGallemar, вопрос - зачем. Ты как-то потом используешь собираемые данные? Я выдаю информацию по кол-ву коннектов к базе,сколько итого и сколько из них 1с, аналитика,сам S-Market, отчеты. Для этого снимается раз в час. Каждые 15 - это контроль за постоянно зависающим модулем обмена, жду обновления чтобы его убрать. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2015, 13:45 |
|
deadlock scans
|
|||
---|---|---|---|
#18+
GallemarСейчас репликатор (IBReplicator) у меня не работает (с ним всё печально) Всё печально с твоей виртуалкой. Ну и логика работы приложения тоже сплошной фейспалм. А репликатор всего лишь увеличивает вдвое DML нагрузку на базу. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2015, 13:46 |
|
deadlock scans
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovGallemarСейчас репликатор (IBReplicator) у меня не работает (с ним всё печально) Всё печально с твоей виртуалкой. \Проблема до переноса на виртуалку появилась ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2015, 14:14 |
|
deadlock scans
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovНу и логика работы приложения тоже сплошной фейспалм. Димитрий, ну зачем же так грубо? Человек обратился за помощью, а не за тем, чтобы его отшили в грубой форме. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2015, 14:15 |
|
deadlock scans
|
|||
---|---|---|---|
#18+
Сегодня 1с-ники научились делать запросы d read-only транзакциях,завтра посажу переписывать их зоопарк. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2015, 14:16 |
|
|
start [/forum/topic.php?fid=40&tid=1562535]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
64ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 174ms |
0 / 0 |