powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / number of free pages in a database
12 сообщений из 12, страница 1 из 1
number of free pages in a database
    #39670391
Фотография CyberMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос для Влада Хорсуна. Два с половиной года назад вы сделали возможность посмотреть количество свободных страниц в базе через API: CORE-1538 . А можно ли сделать получение этой информации через таблицы мониторинга?
...
Рейтинг: 0 / 0
number of free pages in a database
    #39670447
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CyberMax,

сделать можно, но не думаю что нужно - получение этой информации может занять некоторое время.
И сейчас нет возможности ислючить этот процесс, если поле не участвует в запросе.
...
Рейтинг: 0 / 0
number of free pages in a database
    #39670469
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CyberMax,

интересно, а зачем? Какой от этого практический смысл? Если надо "пользователю посоветовать сделать b/r", так можно и через api эти данные получить. А через mon$ для чего?
...
Рейтинг: 0 / 0
number of free pages in a database
    #39670489
Фотография CyberMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad,

Понятно. А если через RDB$GET_CONTEXT или какую-то служебную функцию типа RDB$GET_DATABASE_INFO('FREE_PAGES')?
...
Рейтинг: 0 / 0
number of free pages in a database
    #39670494
Фотография CyberMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvCyberMax,

интересно, а зачем? Какой от этого практический смысл? Если надо "пользователю посоветовать сделать b/r", так можно и через api эти данные получить. А через mon$ для чего?
Получить эти данные через api - скажем так, затруднительно. Надо утилиту запускать, прописывать пути и и т.д. А так посмотрел через запрос - ага, база на 1 Гб, а свободно 950 - и понятно, что данных там хрен да маленько. Практического смысла особого нет, прожили столько лет без этого и ладно. Тут дело больше в прозрачности - хорошо, когда инфу по базе можно детально просмотреть - сколько занимают данные, индексы, блобы и прочее, распределение свободных/занятых страниц внутри файла. Много чего любопытно.
...
Рейтинг: 0 / 0
number of free pages in a database
    #39670501
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CyberMax,

Любопытно много чего, но 10-20 таких любопытных, и сервер выдохнется :)
...
Рейтинг: 0 / 0
number of free pages in a database
    #39670503
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CyberMax,

сбор этой инфы занимает много времени. Почему бы просто не запустить получение статистики через сервисы?
...
Рейтинг: 0 / 0
number of free pages in a database
    #39670527
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CyberMaxТут дело больше в прозрачности - хорошо, когда инфу по базе можно детально просмотреть - сколько занимают данные, индексы, блобы и прочее, распределение свободных/занятых страниц внутри файла.
практической полезности от этой информации - почти ноль. Например, есть моя утилитка DBInfo
https://ib-aid.com/download/IBSurgeonFreeTools.exe

А чтобы понять, сколько места какая таблица или индекс занимают - так это надо gstat запускать, который сканирует базу.
Например, IBAnalyst это показывает (последний, 3.x).

Распределение свободных-занятых страниц - это вообще ахинея. Файл БД как правило всегда фрагментирован. Кроме этого есть GrowthIncrement. Как сработал - в конце появляются пустые страницы. И что? На производительность в целом это никак не влияет.

Информация полезна только тогда, когда на ее основе можно сделать какие-то полезные выводы.

p.s. к примеру, вот есть база, там 80% блобов. Значит, хранятся в основном документы. Другие какие-то выводы можно сделать? Или, после определенных операций в базе 30% свободного места. Значит, можно сделать b/r ? А надо?
...
Рейтинг: 0 / 0
number of free pages in a database
    #39670541
Фотография CyberMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

Я согласен про практическую ценность. Поэтому и аргументировал только возможностью посмотреть, что там в базе на уровне страниц. Чисто из любопытства, но с прицелом, что может что-то интересное удастся увидеть.
...
Рейтинг: 0 / 0
number of free pages in a database
    #39670551
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CyberMaxПоэтому и аргументировал только возможностью посмотреть, что там в базе на уровне страниц.
проблема с согласованностью чтения. Во время работы содержимое базы постоянно меняется. А если сканировать страницы последовательно, то получится фигня.
Я просто для интереса сделал просчет страниц по типам, прямо сканируя файл. А если надо понять, какой индекс сколько занимает, это уже надо или знать как страницы в БД взаимосвязаны, или вычислять из статистики gstat -r.

В любом случае, операции эти долгие, и в mon$ им не место. В mon$ выводится только актуальная, имеющаяся на данный момент информация.

И, наконец, самому серверу не надо знать, сколько в базе есть занятых и свободных страниц. Понятно, что он это отслеживает на ходу через page inventory pages (PIP), но для нахождения пустой страницы ему всю базу сканировать не надо.
...
Рейтинг: 0 / 0
number of free pages in a database
    #39670597
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CyberMaxПолучить эти данные через api - скажем так, затруднительно. Надо утилиту запускать,
прописывать пути и и т.д.

Сляпай UDR и... всё, телемаркет.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
number of free pages in a database
    #39670759
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мониторинг понятно, что нет, дорого очень.
А вот через контекстную переменную - вполне.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / number of free pages in a database
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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