|
number of free pages in a database
|
|||
---|---|---|---|
#18+
Вопрос для Влада Хорсуна. Два с половиной года назад вы сделали возможность посмотреть количество свободных страниц в базе через API: CORE-1538 . А можно ли сделать получение этой информации через таблицы мониторинга? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2018, 06:16 |
|
number of free pages in a database
|
|||
---|---|---|---|
#18+
CyberMax, сделать можно, но не думаю что нужно - получение этой информации может занять некоторое время. И сейчас нет возможности ислючить этот процесс, если поле не участвует в запросе. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2018, 09:23 |
|
number of free pages in a database
|
|||
---|---|---|---|
#18+
CyberMax, интересно, а зачем? Какой от этого практический смысл? Если надо "пользователю посоветовать сделать b/r", так можно и через api эти данные получить. А через mon$ для чего? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2018, 09:48 |
|
number of free pages in a database
|
|||
---|---|---|---|
#18+
hvlad, Понятно. А если через RDB$GET_CONTEXT или какую-то служебную функцию типа RDB$GET_DATABASE_INFO('FREE_PAGES')? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2018, 10:17 |
|
number of free pages in a database
|
|||
---|---|---|---|
#18+
kdvCyberMax, интересно, а зачем? Какой от этого практический смысл? Если надо "пользователю посоветовать сделать b/r", так можно и через api эти данные получить. А через mon$ для чего? Получить эти данные через api - скажем так, затруднительно. Надо утилиту запускать, прописывать пути и и т.д. А так посмотрел через запрос - ага, база на 1 Гб, а свободно 950 - и понятно, что данных там хрен да маленько. Практического смысла особого нет, прожили столько лет без этого и ладно. Тут дело больше в прозрачности - хорошо, когда инфу по базе можно детально просмотреть - сколько занимают данные, индексы, блобы и прочее, распределение свободных/занятых страниц внутри файла. Много чего любопытно. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2018, 10:25 |
|
number of free pages in a database
|
|||
---|---|---|---|
#18+
CyberMax, Любопытно много чего, но 10-20 таких любопытных, и сервер выдохнется :) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2018, 10:29 |
|
number of free pages in a database
|
|||
---|---|---|---|
#18+
CyberMax, сбор этой инфы занимает много времени. Почему бы просто не запустить получение статистики через сервисы? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2018, 10:30 |
|
number of free pages in a database
|
|||
---|---|---|---|
#18+
CyberMaxТут дело больше в прозрачности - хорошо, когда инфу по базе можно детально просмотреть - сколько занимают данные, индексы, блобы и прочее, распределение свободных/занятых страниц внутри файла. практической полезности от этой информации - почти ноль. Например, есть моя утилитка DBInfo https://ib-aid.com/download/IBSurgeonFreeTools.exe А чтобы понять, сколько места какая таблица или индекс занимают - так это надо gstat запускать, который сканирует базу. Например, IBAnalyst это показывает (последний, 3.x). Распределение свободных-занятых страниц - это вообще ахинея. Файл БД как правило всегда фрагментирован. Кроме этого есть GrowthIncrement. Как сработал - в конце появляются пустые страницы. И что? На производительность в целом это никак не влияет. Информация полезна только тогда, когда на ее основе можно сделать какие-то полезные выводы. p.s. к примеру, вот есть база, там 80% блобов. Значит, хранятся в основном документы. Другие какие-то выводы можно сделать? Или, после определенных операций в базе 30% свободного места. Значит, можно сделать b/r ? А надо? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2018, 10:46 |
|
number of free pages in a database
|
|||
---|---|---|---|
#18+
kdv, Я согласен про практическую ценность. Поэтому и аргументировал только возможностью посмотреть, что там в базе на уровне страниц. Чисто из любопытства, но с прицелом, что может что-то интересное удастся увидеть. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2018, 10:56 |
|
number of free pages in a database
|
|||
---|---|---|---|
#18+
CyberMaxПоэтому и аргументировал только возможностью посмотреть, что там в базе на уровне страниц. проблема с согласованностью чтения. Во время работы содержимое базы постоянно меняется. А если сканировать страницы последовательно, то получится фигня. Я просто для интереса сделал просчет страниц по типам, прямо сканируя файл. А если надо понять, какой индекс сколько занимает, это уже надо или знать как страницы в БД взаимосвязаны, или вычислять из статистики gstat -r. В любом случае, операции эти долгие, и в mon$ им не место. В mon$ выводится только актуальная, имеющаяся на данный момент информация. И, наконец, самому серверу не надо знать, сколько в базе есть занятых и свободных страниц. Понятно, что он это отслеживает на ходу через page inventory pages (PIP), но для нахождения пустой страницы ему всю базу сканировать не надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2018, 11:03 |
|
number of free pages in a database
|
|||
---|---|---|---|
#18+
CyberMaxПолучить эти данные через api - скажем так, затруднительно. Надо утилиту запускать, прописывать пути и и т.д. Сляпай UDR и... всё, телемаркет. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2018, 11:52 |
|
|
start [/forum/topic.php?fid=40&msg=39670503&tid=1561052]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
107ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 314ms |
total: | 515ms |
0 / 0 |