|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
Добрый день Есть небольшая БД 50 гигов. Классик 2.5.9.27146 По расписанию по ночам у нее sweep. И он стал бесконечный и на производительность не влияет. Думал сделать Б/Р. Но для теста сделал рестор предыдущего бекапа. На тестовой базе запустил sweep, и та же проблема sweep не заканчивается, в лог сообщений о finish не падает, таск висит, транзакция висит. https://monosnap.com/file/JGaotfdEtcZOBPMW8DkaslhXuF88IH чек базы с ключами -v -f делал, ошибок нет. Что еще попробовать сделать? индексы отключить? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 10:07 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
smatch, скачай свежий снапшот. Эту ошибку случайно недавно внесли и вчера поправили ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 10:10 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
Симонов Денис, спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 10:58 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
Симонов Денис smatch, скачай свежий снапшот. Эту ошибку случайно недавно внесли и вчера поправили У меня была похожая ситуация на 3.0.4 SS. На базе 35гб свип шел 16 часов, после чего было решено сделать б/р. Службу, кстати, остановить не удалось, пришлось килять процесс firebird.exe. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 11:56 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
20.11.2019 11:56, YuRock пишет: > пришлось килять процесс firebird.exe. нехорошо. во время свипа. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 12:13 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
YuRock А в тройке тоже? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 12:26 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
Мимопроходящий 20.11.2019 11:56, YuRock пишет: > пришлось килять процесс firebird.exe. нехорошо. во время свипа. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 12:26 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
YuRockНа базе 35гб свип шел 16 часов, после чего было решено сделать б/р. вот как раз после б/р такое и бывает, ибо swept флаг сбрасывается. И sweep приходится лопатить БД целиком. Ну или если вы полбазы обновили/удалили ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 12:34 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
Симонов Денисвот как раз после б/р такое и бывает, ибо swept флаг сбрасывается не после б/р, а после "р", и не сбрасывается, а он просто выключен на новых страницах, а новые - все. это если быть точным :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 12:44 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
Симонов Денис вот как раз после б/р такое и бывает, ибо swept флаг сбрасывается. И sweep приходится лопатить БД целиком. Ну или если вы полбазы обновили/удалили 1. Мусора относительно много не было, и не бывает на этой базе. б/р сделали 1-й раз за жизнь базы. Просто ради того, чтобы восстановить работоспособность базы, т.к. устали ждать чуда. Что я могу сказать о том, что там происходило: в этот день перезагрузили по каким-то причинам сервак. Говорят, штатно. И вот после этого запустился свип, т.к. next-old было около 100к (почему - это другой вопрос, ко мне). Мне непонятно это: что там можно делать 16 часов с базой 35гб??? Сложилось впечатление, что свип завис/зациклился, т.к. время уже нереальное было, вот и прервали. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 16:03 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
hvlad Мимопроходящий 20.11.2019 11:56, YuRock пишет: > пришлось килять процесс firebird.exe. нехорошо. во время свипа. В логе отобразился обрыв коннекшенов. Так же в логе отобразилось окончание (прерывание) свипа. Всё, больше ничего не было в логе в течение 20 минут, пока ждали. Все эти 20 минут firebird.exe не использовал процессор, не менялись параметры "Размер выделенной памяти", "Потоки", "Дескрипторы"... Никакие. Как просто заснул процесс. Вот и пришлось снимать. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 16:06 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
YuRock А что делать? Нажали "Остановить службу". Или даже просто убить коннект свипа через мониторинг. В логе что-то появилось (кроме inet ошибок от оборванных клиентских коннектов) ? PS основная причина сверх-долгого свипа - множество бекверсий в таблицах с множеством индексов (оба условия) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 16:34 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
YuRock, сборка мусора в индексах очень тяжёлая операция, особенно после массовых удалений. Так что вряд ли проблема с самим sweep ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 16:37 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
Симонов Денис очень тяжёлая операция а на чём именно она тяжелая? насколько понимаю, типовая программа может уперетья в потолок по одному из трёх ресурсов 1) отожрали 100% скорости процессора, взяли бы и больше - но упёрлись в скорость процессора 2) отожрали 100% оперативной/виртуальной памяти, взяли бы и больше - но нету 3) отожрали 100% disk i/o, взяли бы и больше, но упёрлись в физические ограничения диска YuRock Все эти 20 минут firebird.exe не использовал процессор, не менялись параметры "Размер выделенной памяти", "Потоки", "Дескрипторы"... Никакие. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 17:51 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
hvlad В логе что-то появилось (кроме inet ошибок от оборванных клиентских коннектов) ? YuRock В логе отобразился обрыв коннекшенов. Так же в логе отобразилось окончание (прерывание) свипа. Больше ничего. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 18:05 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
Симонов Денис сборка мусора в индексах очень тяжёлая операция, особенно после массовых удалений. Массовые - это какие? Раз в день удаляется по ~10000 записей из одной таблицы. В ней есть блобы. Сразу после удаления - делается коммит, затем принудительно делается Код: sql 1.
И снова коммит. Всего в таблице ~250000 записей постоянно. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 18:10 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
YuRock Массовые - это какие? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 18:20 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
YuRockСразу после удаления - делается коммит, затем принудительно делается SELECT COUNT(* это типа заклинание какое-то? Оно же не работает, если есть активные транзакции. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 18:25 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
hvlad YuRock Массовые - это какие? Вот gstat -r по таблице, где происходят удаления. С другой базы - тестовой и маленькой, но структура та же. Код: 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. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96.
Код: sql 1. 2. 3. 4. 5. 6. 7.
DOPER, DPROCESSING - TIMESTAMP, APPLY - CHAR(1), остальные поля - INTEGER. В боевой базе, как я говорил, постоянно 250к записей и ежедневно удаляется 10к. Это много для такой таблицы? И вообще, что в ней особенно плохо? :) Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 18:39 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
kdv YuRockСразу после удаления - делается коммит, затем принудительно делается SELECT COUNT(* это типа заклинание какое-то? Оно же не работает, если есть активные транзакции.Да, заклинание, в надежде что их нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 18:41 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
YuRock Да, заклинание, в надежде что их нет. Поставить "gfix -sweep" в расписание - сильно сложно? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 18:49 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
Basil A. Sidorov YuRock Да, заклинание, в надежде что их нет. Поставить "gfix -sweep" в расписание - сильно сложно? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 18:52 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
YuRock если Да, FB 2.5 всегда прочитает все страницы, но в чём проблема проверить на копии базы? Я уж молчу, что запуск сборки мусора в контролируемое время предполагает, что надо бы взять за правило делать "gfix -h 0". ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 18:56 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
YuRock hvladgstat -r изучай, регулярно Не маленький вроде - сам умеешь :) YuRock Вот gstat -r по таблице, где происходят удаления. YuRock С другой базы - тестовой и маленькой ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 19:03 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
Basil A. Sidorov Да, FB 2.5 всегда прочитает все страницы, но в чём проблема проверить на копии базы? В штатном режиме эта операция происходит за 20 минут. Но я так заметил, что время от времени бывают нештатные. P.S. у меня 3.0.4. С 2.5 не работал никогда, перепрыгнул с 2.1 Basil A. Sidorov Я уж молчу ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 19:03 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
hvlad Что научить ? Это: hvlad искать в ней проблемные таблицы ? :) Как мне по статистике определить, что таблица проблемная? Реально в гугле не нашел. Единственное, что нашел - Index depth не должна превышать 3, хотя это спорно как по мне, но у меня так и есть. hvlad И какое отношение она имеет к реальной БД с реальными проблемами ? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 19:11 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
YuRock, база 35 гиг, и там 250к записей? Не сходится. default Sweep interval на такой базе - это прекрасно. Предположение, что "нет активных транзакций", работает только на однопользовательских системах и приложениях, и то не всегда. Случаев, когда "транзакция застряла" можно привести массу: - юзер бросил приложение на редактировании формы и ушел домой - процесс классика завис - Админ выполнил запрос в IBExpert, и тут же уснул - внешнее приложение (1с, экспорт-импорт, или какое-нибудь старьё) подключилось к базе, и висит с активной транзакцией и т.д. Постепенно начинаются тормоза. Админ думает - дай-ка я всех рубану. Транзакция "отвисает", все подключаются, и ... начинают собирать мусор! Потому что "кому-то нужные версии" вдруг стали мусором. И еще вдруг может начаться авто-свип (просто совпало). И тормоза становятся еще хуже. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 19:14 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
YuRockКак мне по статистике определить, что таблица проблемная? Реально в гугле не нашел. количество записей и количество версий же. Код: plaintext 1. 2. 3. 4.
Если у тебя нет IBAnalyst (HQbird), так получи статистику в ибэксперте, там тоже данные в виде таблички выводятся. И смотришь, есть-ли версии, и насколько их много относительно записей. Только статистику надо собирать несколько раз за день, и потом сравнивать - утром, до обеда, после обеда, вечером до окончания рабочего дня, и после. И всё равно это не даст 100% гарантии отсутствия "застрявших транзакций", про которые я уже написал тут 22021192 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 19:19 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
kdv база 35 гиг, и там 250к записей? Не сходится. Но эта - единственная, в которой регулярно удаляется много записей. Вернее, есть еще одна (с узкими записями - только числовые айдишники), но её обычное состояние - около нуля записей. Добавились, обработались и потом удалились, когда больше не нужны. Из-за нее, конечно, тоже могут быть проблемы. Мусорных версий в ней много бывает, естественно. kdv Случаев, когда "транзакция застряла" можно привести массу Это понятно. Но бывают, и я это знаю, случаи, когда везёт, и во время SELECT COUNT никого нет. А даже если есть - на таблице в 250к записей это не долго раз в день. kdv default Sweep interval на такой базе - это прекрасно. kdv Админ думает - дай-ка я всех рубану. Транзакция "отвисает", все подключаются, и ... начинают собирать мусор! Потому что "кому-то нужные версии" вдруг стали мусором. И еще вдруг может начаться авто-свип (просто совпало). И тормоза становятся еще хуже. Это всё понятно, я собираюсь отключить там автосвип и настроить запуск по расписанию. Боюсь только того, что он может не успеть до утра - что тогда делать, не знаю. А так же я хочу останавливать службу FB перед этим, чтобы гарантированно выкинуть всех, включая SYSDBA - и тоже боюсь, что не получится остановить (зависнет при остановке), как в моем примере. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 19:27 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
kdv Если у тебя нет IBAnalyst (HQbird), так получи статистику в ибэксперте, там тоже данные в виде таблички выводятся. И смотришь, есть-ли версии, и насколько их много относительно записей. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 19:31 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
YuRockЭто всё понятно, я собираюсь отключить там автосвип и настроить запуск по расписанию. "Уже смешно." (с) Ты уже выяснил предварительно как часто там запускается этот самый автосвип сейчас? YuRockБоюсь только того, что он может не успеть до утра - что тогда делать, не знаю. "Готовить три конверта." (с) Ты так говоришь, будто свип монополизирует базу и кроме него с ней никто не может работать. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 19:35 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
YuRock Это всё понятно, я собираюсь отключить там автосвип и настроить запуск по расписанию. Боюсь только того, что он может не успеть до утра - что тогда делать, не знаю. Можете и на том же самом компе и даже выделив для тестовой базы мизерный страничный кэш.А так же я хочу останавливать службу FB перед этим, чтобы гарантированно выкинуть всехОх уж эти хирурги, всё бы им резать ... ... вот тебе таблетка - само отвалится Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 19:36 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov YuRockЭто всё понятно, я собираюсь отключить там автосвип и настроить запуск по расписанию. "Уже смешно." (с) Ты уже выяснил предварительно как часто там запускается этот самый автосвип сейчас?Запускается регулярно, раз в несколько дней. Но бывают и затыки, как в этот раз. Но так долго он не выболняетя обычно, тормоз в пределах 30 минут - и всё. И не факт, что днем - нагрузка от времени суток почти не зависит, основные клиенты пул соединений репликатора. Dimitry Sibiryakov Ты так говоришь, будто свип монополизирует базу и кроме него с ней никто не может работать. К сожалению, фактически так и есть. Диск во время свипа грузится на 100%. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 19:40 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
YuRock Диск во время свипа грузится на 100%. Устройста эмулируемые или синтетические? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 19:42 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
YuRockЗапускается регулярно, раз в несколько дней. Именно auto -sweep? Уверен? Как выяснил? YuRockДиск во время свипа грузится на 100%. Какой именно процесс и какие именно файлы при этом читает-пишет с помощью resmon/iotop выяснил? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 19:49 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
Basil A. Sidorov Ох уж эти хирурги, всё бы им резать ...вот тебе таблетка - само отвалится Код: plaintext 1.
И давно gfix -shutdown научилось выгонять и запрещать доступ для SYSDBA? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 19:50 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovТы уже выяснил предварительно как часто там запускается этот самый автосвип сейчас? Дима, завязывай ты с этой борьбой за авто-свип :-) ты никогда не знаешь, что некая транзакция завершится роллбэком, что есть активные транзакции или нет их, и какая в данный момент загрузка сервера. Поэтому автосвип - это рулетка, от которой надо избавляться. Кроме того, как и многие другие параметры, sweep interval = 20000 был придуман уж точно лет 25 назад. А какой должен быть автосвип сейчас, и при какой интенсивности транзакций - я не берусь предсказать. Допустим, есть база в 35 гиг, ФБ 3, и там половина страниц swept=0. Допустим, если вдруг запустить свип, и он начнет чесать эти пол-базы, со скоростью 50мб/сек, это займёт минут 6, без юзеров. Ну и нафиг мне нужны эти внезапные тормоза? А если сейчас пик дня, это уже будет не 6 минут, а 30 минут. И? Операторы заказы оформляют, товары отгружают, а тут вдруг авто-свип пришёл... p.s. на ФБ 2.5 и базе в 250 гиг свип ночью шел 1.5 часа. Попробуй его днем запустить, при 600 активных юзерах. Он и через сутки не кончится. p.p.s. для мелких ненагруженных баз автосвип - сколько угодно. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 19:50 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
Basil A. Sidorov YuRock Диск во время свипа грузится на 100%. Basil A. Sidorov Устройста эмулируемые или синтетические? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 19:51 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
Basil A. Sidorovполучаете время сборки мусора в худшем случае. не, это будет псевдо-идеальный случай, потому что после рестора мусора нет, и собирать там нечего, свип просто потратит время на проверку "ничего" и выставление swept_flag = 1 (вся БД будет перезаписана). YuRockДиск во время свипа грузится на 100%. надо проверить очередь диска. я так полагаю, там будет полный кабздец. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 19:55 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov YuRockЗапускается регулярно, раз в несколько дней. Именно auto -sweep? Уверен? Как выяснил? 1. Вызов gfix -sweep не настроен; 2. sweep interval установлен в 20k; 3. Обычно next-old редко и ненадолго превышает 20k (не без затыков, повторюсь, сейчас было 100к). 4. Кол-во транзакций в день - минимум 10000. Dimitry Sibiryakov YuRockДиск во время свипа грузится на 100%. Какой именно процесс и какие именно файлы при этом читает-пишет с помощью resmon/iotop выяснил? Конечно. Монитор ресурсов показал, что firebird.exe. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 19:55 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
kdv Basil A. Sidorovполучаете время сборки мусора в худшем случае. не, это будет псевдо-идеальный случай, потому что после рестора мусора нет, и собирать там нечего, свип просто потратит время на проверку "ничего" и выставление swept_flag = 1 (вся БД будет перезаписана). YuRockДиск во время свипа грузится на 100%. надо проверить очередь диска. я так полагаю, там будет полный кабздец.Очередь диска при этом стабильно была равна ~1. Это не хорошо, конечно, но я видел и хуже :) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 19:58 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
YuRock3. Обычно next-old редко и ненадолго превышает 20k (не без затыков, повторюсь, сейчас было 100к). Это не может запустить автосвип. YuRockМонитор ресурсов показал, что firebird.exe. В отличии от Менеджера Задач, Монитор показывает данные с точностью до файла и скорости обмена. Так какой именно файл этот процесс вводил-выводил и с какой скоростью? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 20:01 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Это не может запустить автосвип. Что "это"? Мой пост на форуме? Dimitry Sibiryakov Так какой именно файл этот процесс вводил-выводил и с какой скоростью? Я таких подробностей не помню уже. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 20:03 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
kdvзавязывай ты с этой борьбой за авто-свип :-) Ты не врубаешься: я борюсь не за него, а против плясок с бубном уровня "стекло протереть, по колёсам попинать". Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 20:04 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
YuRock, очередь 1 - это норм. кто-нибудь измерял этот диск хотя бы crystaldiskmark-ом, или еще чем? p.s. не норм - очередь выше 1. 1 означает, что в общем диск успевает, но как только он "успел", тут же приходит новая команда. А что такое "загрузка диска 100%"? Это эквивалент очереди 1? и что, при очереди 3 тогда будет 300%? или 100%? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 20:09 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
YuRockЧто "это"? Отквоченное. "next-old". Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 20:11 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
Arioch, создай табличку с 10 полями влей в неё 1000000 записей, потом удали все записи. Собери мусор и засеки время. А теперь снова влей в таблицу 1000000 записей, создай к ней 10 индексов. Удали все записи. Собери мусор и сравни время. Подумай почему такая разница. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 20:13 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
kdv кто-нибудь измерял этот диск хотя бы crystaldiskmark-ом, или еще чем? kdv А что такое "загрузка диска 100%"? Это эквивалент очереди 1? Не знаю. Монитор диаграмму показывает. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 20:16 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov YuRockЧто "это"? Отквоченное. "next-old".И что же тогда может, если не это? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 20:16 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
YuRock Basil A. Sidorov Ох уж эти хирурги, всё бы им резать ...вот тебе таблетка - само отвалится Код: plaintext 1.
И давно gfix -shutdown научилось выгонять и запрещать доступ для SYSDBA? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 20:22 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
YuRock Как мне по статистике определить, что таблица проблемная? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 20:25 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
YuRockИ что же тогда может OAT-OIT. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 20:27 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov YuRockИ что же тогда может OAT-OIT.Я это и имел ввиду. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 21:05 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
YuRock Да, в облаке в каком-то у них база Для виртуалок продают не только ядра/мегабайты, но и I(nput)O(output) P ( er ) S ( econds ). ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 21:09 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
YuRockЯ это и имел ввиду. Имел ввиду одно, а написал совершенно другое? Ню-ню... Запуск свипа можно отследить только одним способом: по записи в firebird.log. Всё остальное - гадание на кофейной гуще. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 22:15 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
YuRockОбычно next-old редко и ненадолго превышает 20k у Firebird автосвип срабатывает при OST>OIT на sweep interval. Никакие Next и OAT на автосвип не влияют. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 22:35 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Запуск свипа можно отследить только одним способом: по записи в firebird.log Когда я писал, что "запустился свип", естественно, это я узнал из лога. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2019, 11:03 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
Познавательная тема! Dimitry Sibiryakov YuRockИ что же тогда может OAT-OIT. kdv у Firebird автосвип срабатывает при OST>OIT на sweep interval. Никакие Next и OAT на автосвип не влияют. В третьих местах (на ibase.ru например) я нашел инфу, что разница вычисляется между "Oldest snapshot" и "Oldest transaction(которая закончилась rollback)" (уже боюсь аббривиатуры придумывать). Next вообще не влияет, это понятно, выше я хрень писал. P.S. Я уже не знаю, какая там разница срабатывала, но автосвип запускался, хотя-бы судя по логу. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2019, 11:28 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
YuRock, так ты нашёл проблемную таблицу? Или теперь будешь следующего зависона ждать? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2019, 11:43 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
Симонов Денис YuRock, так ты нашёл проблемную таблицу? Или теперь будешь следующего зависона ждать? Ждать зависона... Дело в том, что таких баз работает десяток, уже больше 10 лет (эта база - сравнительно новая, ей как раз года полтора). Некоторые - больше в 3-5-10-20 раз. И зависоны если и случаются (из-за автосвипа), то сами проходят безболезненно. Правда, в последние как раз полтора-два года появилось изменение в логике работы, связанное как раз с этой таблицей, о которой я уже писал - из нее начали удаляться по 10к записей в день и у нее стало постоянное (примерно) кол-во записей. Тем не менее, этот случай - исключение (надеюсь). И всё-таки я собираюсь перевести все такие базы на ручной запуск sweep по расписанию (думаю, так всё же правильнее). В связи с этим у меня уже несколько вопросов, для понимания и уверенности: 1. Если при запуске sweep будут висеть активные транзакции - он просто ничего не сделает? (я, конечно же, собираюсь выгнать всех перед запуском, но просто интересно) 2. Если в процессе работы sweep будут запускаться транзакции, в т.ч. - пишущие, в т.ч. - снапшоты - как это повлияет на работу и результаты работы sweep? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2019, 13:10 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
Симонов Денис Arioch, создай табличку с 10 полями влей в неё 1000000 записей, потом удали все записи. Собери мусор и засеки время. А теперь снова влей в таблицу 1000000 записей, создай к ней 10 индексов. Удали все записи. Собери мусор и сравни время. Подумай почему такая разница. А можно ещё на звёзды ночью поглядеть и подумать. При чём тут это? Ты сказал, что в конкретном случае, при конкретных наблюдениях, конкретный процесс упёрся в бутылочное горлышко. Я тебя спросил - в какое из трёх известных 22021068 Ты не ответил и начал воду лить за всё хорошее против всего плохого ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2019, 13:23 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
YuRockВ третьих местах (на ibase.ru например) я нашел инфу, что разница вычисляется между "Oldest snapshot" и "Oldest transaction(которая закончилась rollback)" (уже боюсь аббривиатуры придумывать). почему это "в третьих"? И какие тогда "первые" и "вторые"? У Firebird автосвип срабатывает при OST - OIT >=sweep interval У InterBase с какой-то там версии (вроде 7.1) автосвип срабатывает при OAT-OIT >=sweep interval. OIT = Oldest Interesting Transaction = Oldest Transaction OST = Oldest Snapshot OAT = Oldest Active Next = Next gstat -h employee.fdb Oldest transaction 668 Oldest active 669 Oldest snapshot 669 Next transaction 671 у gstat в выводе (и в хранении на header page) порядок маркеров транзакций по мере их возрастания попутан (OAT идет раньше, чем OST). http://www.ibase.ru/summary/ p.s. ты на этом форуме уже 12 лет. За 12 лет мог бы ... почитать что-то. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2019, 13:36 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
YuRockестественно, это я узнал из лога. А ты сделал попытку узнать что именно привело к зависанию транзакции, приведшей к этому? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2019, 13:38 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
Arioch, а может быть ты таки проведёшь эксперимент и сам посмотришь какие ресурсы уходят? Что за привычка такая ждать, что тебе всё разжуют и в рот положат. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2019, 14:12 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
YuRockЕсли при запуске sweep будут висеть активные транзакции - он просто ничего не сделает? почему же. свип будет вычищать мусор в интервале от OIT до OST. Он его всегда вычищает только в этом интервале. Другое дело, что застрявшая активная транзакция не дает этому интервалу расти. Соответственно, свип всегда сканирует всю БД, и вычищает то, что можно. Уже тут не раз писали, что ФБ пишет в firebird.log о начале и конце свипа, сопровождая сообщение значениями маркеров транзакций. Из которых можно понять, было что-то "застрято" на момент старта (и окончания) свипа, или нет. YuRockЕсли в процессе работы sweep будут запускаться транзакции, в т.ч. - пишущие, в т.ч. - снапшоты ну будут, и что? Эти транзакции могут плодить НОВЫЕ версии, которые потом (когда-нибудь) станут новым мусором. Жизнь продолжается. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2019, 14:20 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
kdvУже тут не раз писали, что ФБ пишет в firebird.log о начале и конце свипа, сопровождая сообщение значениями маркеров транзакций. Из которых можно понять, было что-то "застрято" на момент старта (и окончания) свипа, или нет. Он утверждает, что эти записи видел. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2019, 14:22 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
YuRock1. Если при запуске sweep будут висеть активные транзакции - он просто ничего не сделает? (я, конечно же, собираюсь выгнать всех перед запуском, но просто интересно) 2. Если в процессе работы sweep будут запускаться транзакции, в т.ч. - пишущие, в т.ч. - снапшоты - как это повлияет на работу и результаты работы sweep? 1. Это смотря насколько стара самая старая активная транзакция. Иначе какой был бы смысл в auto sweep 2. Может повлиять, но это не обозначает, что sweep ничего не сделает ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2019, 14:22 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
YuRock, грубо говоря, если бы работа sweep требовала отсутствия активных транзакции, то никто бы не стал делать auto sweep ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2019, 14:25 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
kdv почему это "в третьих"? Первые два источника информации были в этой теме этого форума kdv И какие тогда "первые" и "вторые"? Первое: Dimitry Sibiryakov OAT-OIT Второе: kdv у Firebird автосвип срабатывает при OST>OIT на sweep interval. Никакие Next и OAT на автосвип не влияют. А по факту - это разница между OST-OT. kdv У Firebird автосвип срабатывает при OST - OIT >=sweep interval У InterBase с какой-то там версии (вроде 7.1) автосвип срабатывает при OAT-OIT >=sweep interval. OIT = Oldest Interesting Transaction = Oldest Transaction OST = Oldest Snapshot OAT = Oldest Active Next = Next Спасибо за подробную расшифровку. kdv p.s. ты на этом форуме уже 12 лет. За 12 лет мог бы ... почитать что-то. Честно говоря, читал это много раз. Но из дырявой головы вылетает и путается то, с чем не сталкиваешься регулярно. Особенно, когда в разных местах написано по разному (впрочем, это мои проблемы). ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2019, 14:55 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov YuRockестественно, это я узнал из лога. А ты сделал попытку узнать что именно привело к зависанию транзакции, приведшей к этому?Я знаю прекрасно проблемы своего ПО и работаю над этим. В данном топике обсуждаются проблемы решения последствий плохой работы некачественного ПО. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2019, 14:57 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
kdv YuRockЕсли при запуске sweep будут висеть активные транзакции - он просто ничего не сделает? почему же. свип будет вычищать мусор в интервале от OIT до OST. Он его всегда вычищает только в этом интервале. Другое дело, что застрявшая активная транзакция не дает этому интервалу расти. Соответственно, свип всегда сканирует всю БД, и вычищает то, что можно. Уже тут не раз писали, что ФБ пишет в firebird.log о начале и конце свипа, сопровождая сообщение значениями маркеров транзакций. Из которых можно понять, было что-то "застрято" на момент старта (и окончания) свипа, или нет. YuRockЕсли в процессе работы sweep будут запускаться транзакции, в т.ч. - пишущие, в т.ч. - снапшоты ну будут, и что? Эти транзакции могут плодить НОВЫЕ версии, которые потом (когда-нибудь) станут новым мусором. Жизнь продолжается. Ясно, спасибо. Короче, думаю, будет достаточно просто выгонять всех пользователей и запускать свип раз в сутки. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2019, 14:59 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
Симонов Денис грубо говоря, если бы работа sweep требовала отсутствия активных транзакции, то никто бы не стал делать auto sweep ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2019, 15:00 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
YuRockВ данном топике обсуждаются проблемы решения последствий плохой работы некачественного ПО. А какие у тебя были последствия кроме невнятного "свип шёл 16 часов"? Ну шёл и шёл. Он кому-то мешал, что ты начал паниковать и убивать сервер, рискуя целой базой? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2019, 15:23 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov А какие у тебя были последствия кроме невнятного "свип шёл 16 часов"? Ну шёл и шёл. Он кому-то мешал, что ты начал паниковать и убивать сервер, рискуя целой базой? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2019, 16:11 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
YuRockЯ так, ради прикола балуюсь. Ну я так и подумал. Продолжай, не смею мешать. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2019, 16:53 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
Резюмируя: длина очереди 1 намекает, что о-о-о-очень медленный диск был полностью загружен последовательными запросами от одного-единственного потока, которым был свип. И пока этот поток ожидал завершения чтения, все остальные потоки ничего не могли делать, поскольку ждали своей очереди. Что странно, поскольку Влад говорил, что глобальный лок уже давно начал отпускаться на время ввода-вывода. Возможно, тут мог бы помочь дамп лок-таблицы в момент проблемы, но кто ж его будет делать... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2019, 17:19 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
YuRock Я знаю прекрасно проблемы своего ПО и работаю над этим. В данном топике обсуждаются проблемы решения последствий плохой работы некачественного ПО. Мужик. У тебя железные нервы. Снимаю шляпу. Я серьёзно. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2019, 20:58 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov 1. Резюмируя: длина очереди 1 намекает, что о-о-о-очень медленный диск был полностью загружен последовательными запросами от одного-единственного потока, которым был свип. И пока этот поток ожидал завершения чтения, все остальные потоки ничего не могли делать, поскольку ждали своей очереди. 2.Что странно, поскольку Влад говорил, что глобальный лок уже давно начал отпускаться на время ввода-вывода. 1. Полностью согласен. 2. Ничего странного лично я в этом не вижу. Лок локом, но если канал забит, то желающим его тела потокам просто нечем ещё заняться. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2019, 21:01 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
Старый плюшевый мишкаЛок локом, но если канал забит, то желающим его тела потокам просто нечем ещё заняться. Э нет, тогда желающие громоздились бы у окошка выдачи и очередь была намного длиннее одного тела. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2019, 22:35 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
Симонов Денис, ты опять пытаешься подменить тему. Ты сказал, что бутылочное горлышко было в конкретной ситуации, описанной YuRock А сейчас пытаешься вместо неё изобрести другую ситуацию, с другой БД, на другом "железе", и с другими наблюдаемыми симптомами. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2019, 12:53 |
|
Бесконечный sweep sweep
|
|||
---|---|---|---|
#18+
Arioch, твою же дивизию. Давай рассмотрим когда свип реально тормозит 1. Сканируется почти вся БД, swept флаги не установлены 2. В кой-то одной или нескольких таблицах много мусора и у этих таблиц много индексов. Собственно всё. Я сказал что сборка мусора на таблицах с индексами тяжёлая операция. И чем ббольше индексов создано для такой таблицы тем хуже. Во что конкретно упирается хз, но обычно не в память. Скорее всего диск, но и проц тоже задействован ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2019, 13:02 |
|
|
start [/forum/topic.php?all=1&fid=40&tid=1560510]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
126ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
120ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 301ms |
0 / 0 |