Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Жуткая статистика БД Firebird: прошу помочь с приложениями  [new]
Любезный
Member

Откуда:
Сообщений: 564
Приветствую всех.

Администрирую сейчас рабочий сервер с базами FB2.5.8 Classic. Есть у меня одна база, к которой цепляется клиентское приложение, написанное мной на связке Delphi 2010 + FIBPlus. Это телефонный справочник, большинство пользователей которого занимаются только чтением данных через программу. Небольшая часть пользователей редко пишет комментарии в отдельную табличку (единственная, в которой есть BLOB-поле). Корректировка остальных данных справочника исключительно на мне (через отдельное приложение), и это еще бОльшая редкость. Одновременно редко работает более 50 пользователей.

В общем, снял я статистику этой базы и прифигел.
Database "Phones.fdb"
Gstat execution time Wed Jul  4 01:28:30 2018

Database header page information:
        Flags                   0
        Checksum                12345
        Generation              19428
        Page size               8192
        ODS version             11.2
        Oldest transaction      862
        Oldest active           11664
        Oldest snapshot         11664
        Next transaction        11665
        Bumped transaction      1
        Sequence number         0
        Next attachment ID      5841
        Implementation ID       24
        Shadow count            0
        Page buffers            0
        Next header page        0
        Database dialect        3
        Creation date           May 27, 2018 23:38:13
        Attributes              force write

    Variable header data:
        Sweep interval:         20000
        *END*

Резко смутила разница между OT и NT. Посмотрел параметры читающей транзакции приложения-справочника - вроде ничего особенного:
read
nowait
rec_version
read_committed

Эта транзакция стартует при старте приложения; завершение приложения происходит без коммита или отката этой транзакции в коде.
Прошу подсказать, что еще надо подсмотреть, чтобы попытаться понять причину такого разрыва. Или может быть, лучше оставить как есть, не обращая внимания?
4 июл 18, 01:42    [21541118]     Ответить | Цитировать Сообщить модератору
 Re: Жуткая статистика БД Firebird: прошу помочь с приложениями  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 12480
При здесь Delphi?
http://www.sql.ru/forum/interbase
4 июл 18, 08:40    [21541243]     Ответить | Цитировать Сообщить модератору
 Re: Жуткая статистика БД Firebird: прошу помочь с приложениями  [new]
wadman
Member

Откуда: Санкт-Петербург
Сообщений: 24489
Любезный
Небольшая часть пользователей редко пишет комментарии в отдельную табличку

Если все так, то эта часть пользователей не подключена-ли в данный момент для апдейта?
4 июл 18, 09:08    [21541301]     Ответить | Цитировать Сообщить модератору
 Re: Жуткая статистика БД Firebird: прошу помочь с приложениями  [new]
goldmi45
Member

Откуда:
Сообщений: 1053
О статистике базы
Любезный, sweep делали?
4 июл 18, 10:03    [21541515]     Ответить | Цитировать Сообщить модератору
 Re: Жуткая статистика БД Firebird: прошу помочь с приложениями  [new]
Любезный
Member

Откуда:
Сообщений: 564
автор
При здесь Delphi?

автор
приложение, написанное мной на связке Delphi 2010 + FIBPlus

Считаю, что проблема - в приложении.

автор
Если все так, то эта часть пользователей не подключена-ли в данный момент для апдейта?

Точно нет.
Смотрю идентификаторы транзакций - ОТ в MON$TRANSACTION отсутствует. Может, это надо по-другому смотреть?
4 июл 18, 11:49    [21541997]     Ответить | Цитировать Сообщить модератору
 Re: Жуткая статистика БД Firebird: прошу помочь с приложениями  [new]
Любезный
Member

Откуда:
Сообщений: 564
автор
sweep делали?

Пока еще нет. Думаю, теперь удастся только дня через два-три.
4 июл 18, 11:50    [21542009]     Ответить | Цитировать Сообщить модератору
 Re: Жуткая статистика БД Firebird: прошу помочь с приложениями  [new]
Любезный
Member

Откуда:
Сообщений: 564
У меня пока под рукой только исходники приложения ; есть еще бэкап базы. Полагаю, искать проблему надо в них. Запись совершенно точно осуществляется короткими транзакциями: старт - запрос - параметры - выполнение - коммит. Откуда проблема - ХЗ. Может, у кого есть опыт по вопросам с ФИБами? Не могут ли они открывать какие-то скрытые транзакции?
Ну и еще у меня для предотвращения дисконнекта по таймауту приложение ежеминутно опрашивает базу отдельным запросом через свой компонент pFIBQuery через ту же читающую транзакцию. Приложение не многопоточное.
4 июл 18, 11:59    [21542046]     Ответить | Цитировать Сообщить модератору
 Re: Жуткая статистика БД Firebird: прошу помочь с приложениями  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 12480
Проверь, чтобы в читающих транзакциях было без write, т.е.
read
nowait
rec_version
read_committed

Ещё. Если пользователь вызывает окно для редактирования/добавления объекта, где запускается пишущая транзакция, но потом нажимает Отмена, то выполняется ли RollBack?
Ну т.е. по идее пишущая транзакция в итоге должна получить или commit, или rollback, не должно быть неопределённых.
4 июл 18, 12:05    [21542068]     Ответить | Цитировать Сообщить модератору
 Re: Жуткая статистика БД Firebird: прошу помочь с приложениями  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 12480
http://citforum.ru/database/interbase/stat/
OLDEST TRANSACTION
Этот параметр показывает идентификатор старейшей заинтересованной транзакции в базе данных. Значение этого параметра часто сравнивается с параметром NEXT TRANSACTION. Разница этих параметров показывает количество мусора в базе данных и можно судить о целесообразность выполнения резервного копирования.
4 июл 18, 12:18    [21542116]     Ответить | Цитировать Сообщить модератору
 Re: Жуткая статистика БД Firebird: прошу помочь с приложениями  [new]
goldmi45
Member

Откуда:
Сообщений: 1053
Любезный
автор
sweep делали?

Пока еще нет. Думаю, теперь удастся только дня через два-три.

Посмотрите настройки сервера, отключена или нет сборка мусора. То, что интервал у базы стоит 20000 не значит, что мусор собирается.
4 июл 18, 12:36    [21542182]     Ответить | Цитировать Сообщить модератору
 Re: Жуткая статистика БД Firebird: прошу помочь с приложениями  [new]
m7m
Member

Откуда: Украина, Мариуполь
Сообщений: 1275
Любезный
Резко смутила разница между OT и NT. Посмотрел параметры читающей транзакции

Если больше ничего не смущает то
Любезный
оставить как есть, не обращая внимания
4 июл 18, 13:21    [21542341]     Ответить | Цитировать Сообщить модератору
 Re: Жуткая статистика БД Firebird: прошу помочь с приложениями  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 29231

а из-за чего такой драматизм?

Posted via ActualForum NNTP Server 1.5

4 июл 18, 14:01    [21542486]     Ответить | Цитировать Сообщить модератору
 Re: Жуткая статистика БД Firebird: прошу помочь с приложениями  [new]
под ван
Guest
Мимопроходящий
а из-за чего такой драматизм?

Просто у автора колоссальная нагрузка на железе - целых более 50 пользователей и целых менее 100 записей, поэтому тут нужна очень тонкая оптимизация БД от знающих людей.
4 июл 18, 14:04    [21542505]     Ответить | Цитировать Сообщить модератору
 Re: Жуткая статистика БД Firebird: прошу помочь с приложениями  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 29231

ну, можно шпиндели на 10 000 поставить

Posted via ActualForum NNTP Server 1.5

4 июл 18, 14:10    [21542540]     Ответить | Цитировать Сообщить модератору
 Re: Жуткая статистика БД Firebird: прошу помочь с приложениями  [new]
Любезный
Member

Откуда:
Сообщений: 564
автор
Проверь, чтобы в читающих транзакциях было без write, т.е.
read
nowait
rec_version
read_committed

Все именно так, как я писал выше.

автор
Ещё. Если пользователь вызывает окно для редактирования/добавления объекта, где запускается пишущая транзакция, но потом нажимает Отмена, то выполняется ли RollBack?

Транзакция на запись стартует только по нажатию ОК, так что она максимально короткая по времени. Читающая - при старте приложения, сразу после соединения с базой. DB-aware компоненты не использую в принципе.

автор
Посмотрите настройки сервера, отключена или нет сборка мусора. То, что интервал у базы стоит 20000 не значит, что мусор собирается.

Настройки дефолтные, я постараюсь их потом пересмотреть. Я не так давно перенес эти базы с другого сервера 2.5.3 Classic. А ведь вроде у классика сборка мусора идет сразу же, а не через 20000 транзакций.

автор
Просто у автора колоссальная нагрузка на железе - целых более 50 пользователей и целых менее 100 записей, поэтому тут нужна очень тонкая оптимизация БД от знающих людей.

Понимаю сарказм. Но у меня на этом же сервере крутятся и другие базы с другим моим софтом, и некоторые из них тоже имеют не самую лучшую статистику, а на некоторых, ЧСХ, с бОльшей активностью на запись, все абсолютно нормально. И я просто пытаюсь понять, откуда может быть такой разнобой.
4 июл 18, 15:17    [21542918]     Ответить | Цитировать Сообщить модератору
 Re: Жуткая статистика БД Firebird: прошу помочь с приложениями  [new]
чччД__
Guest
Любезный,
забей. Ничего не случилось, совершенно.
4 июл 18, 15:22    [21542948]     Ответить | Цитировать Сообщить модератору
 Re: Жуткая статистика БД Firebird: прошу помочь с приложениями  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 46103

Любезный
Читающая - при старте приложения, сразу после соединения с базой. DB-aware компоненты не
использую в принципе.

Тогда зачем тебе эта читающая транзакция? Читай в таких же коротких транзакциях, что и
пишущие.

Posted via ActualForum NNTP Server 1.5

4 июл 18, 16:05    [21543148]     Ответить | Цитировать Сообщить модератору
 Re: Жуткая статистика БД Firebird: прошу помочь с приложениями  [new]
Любезный
Member

Откуда:
Сообщений: 564
автор
Тогда зачем тебе эта читающая транзакция? Читай в таких же коротких транзакциях, что и пишущие.

Чтобы быстрее рос счетчик транзакций?
4 июл 18, 16:27    [21543288]     Ответить | Цитировать Сообщить модератору
 Re: Жуткая статистика БД Firebird: прошу помочь с приложениями  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 46103

Любезный
Чтобы быстрее рос счетчик транзакций?

В нём 32 бита, тебе этого хватит лет на 10.

Posted via ActualForum NNTP Server 1.5

4 июл 18, 16:37    [21543342]     Ответить | Цитировать Сообщить модератору
 Re: Жуткая статистика БД Firebird: прошу помочь с приложениями  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 29231

04.07.2018 16:27, Любезный пишет:
> Чтобы быстрее рос счетчик транзакций?

счётчик рояля не играет.
важен разрыв.
но у тебя он мизерный.
поводов для паники нет совершенно.

Posted via ActualForum NNTP Server 1.5

4 июл 18, 17:00    [21543433]     Ответить | Цитировать Сообщить модератору
 Re: Жуткая статистика БД Firebird: прошу помочь с приложениями  [new]
Любезный
Member

Откуда:
Сообщений: 564
Разрыв более 10 000 транзакций - это разве нормально?
4 июл 18, 17:46    [21543634]     Ответить | Цитировать Сообщить модератору
 Re: Жуткая статистика БД Firebird: прошу помочь с приложениями  [new]
vvvait
Member

Откуда:
Сообщений: 41
у нас как то на одной базе регулярный sweep отключился, и разрыв стал около 17 000 000, и ничего, работало, случайно заметили
4 июл 18, 17:55    [21543689]     Ответить | Цитировать Сообщить модератору
 Re: Жуткая статистика БД Firebird: прошу помочь с приложениями  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 29231

04.07.2018 17:46, Любезный пишет:
> Разрыв более 10 000 транзакций - это разве нормально?

это тьфу.
но если у тебя это вызывает зуд, подкрути sweep interval.
нервничать надо начинать тогда, когда разрыв под миллион,
и свип никак не подтянет разрыв до приемлемых величин.
а у тебя он даже не стартовал.
чего нервничать то?

Posted via ActualForum NNTP Server 1.5

4 июл 18, 17:58    [21543698]     Ответить | Цитировать Сообщить модератору
 Re: Жуткая статистика БД Firebird: прошу помочь с приложениями  [new]
Дегтярев Евгений
Member

Откуда: Барнаул
Сообщений: 1381
Мимопроходящий
чего нервничать то?


ну это как в том анекдоте - не аккуратненько как-то )
4 июл 18, 18:12    [21543771]     Ответить | Цитировать Сообщить модератору
 Re: Жуткая статистика БД Firebird: прошу помочь с приложениями  [new]
MikeDD
Member

Откуда:
Сообщений: 205
Любезный
Может, у кого есть опыт по вопросам с ФИБами? Не могут ли они открывать какие-то скрытые транзакции?

Опыт есть. Не открывают если не попросишь. Вот статистика от одного из клиентов, доступ через ФИБы:
+
Database header page information:
Flags 0
Checksum 12345
Generation 2063893
Page size 8192
ODS version 11.2
Oldest transaction 2063881
Oldest active 2063882
Oldest snapshot 2063882
Next transaction 2063883
Bumped transaction 1
Sequence number 0
Next attachment ID 42077
Implementation ID 16
Shadow count 0
Page buffers 0
Next header page 0
Database dialect 3
Creation date Feb 13, 2018 11:47:22
Attributes force write

Variable header data:
Sweep interval: 20000
*END*

Работает без вопросов уже не один год.
4 июл 18, 19:59    [21544067]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Delphi Ответить