Утилита DataGrid Page Analyzer#
page-analyzer — утилита командной строки для анализа страниц с данными, которые хранятся на диске.
Запуск утилиты#
Для начала работы с утилитой запустите скрипт pageAnalyzer.sh с параметром page-statistics и аргументом -d, в котором укажите путь к данным для анализа:
./pageAnalyzer.sh page-statistics -d /path/to/data/
Утилита перейдет по указанному пути в директории с кешами и просканирует страницы внутри партиций. Результат работы утилиты выведется на экран и в лог-файл page-analyzer.log.
Разбор вывода утилиты#
Пример вывода утилиты
[DD.MM.YYYY 14:19:01.107][INFO][PageStatistic] *** FULL STATISTICS FOR CACHETEST ***
[DD.MM.YYYY 14:19:01.111][INFO][PageStatistic] 1 T_DATA 394241 pages, 25,14M free, 1,63% unused
[DD.MM.YYYY 14:19:01.112][INFO][PageStatistic] 0- 10%: 1 pages
[DD.MM.YYYY 14:19:01.112][INFO][PageStatistic] 80- 90%: 1024 pages
[DD.MM.YYYY 14:19:01.112][INFO][PageStatistic] 90-100%: 393216 pages
[DD.MM.YYYY 14:19:01.113][INFO][PageStatistic] 13 T_PAGE_LIST_NODE 20728 pages, 76,70M free, 94,72% unused
[DD.MM.YYYY 14:19:01.113][INFO][PageStatistic] 0- 10%: 18680 pages
[DD.MM.YYYY 14:19:01.113][INFO][PageStatistic] 30- 40%: 1024 pages
[DD.MM.YYYY 14:19:01.113][INFO][PageStatistic] 40- 50%: 1024 pages
[DD.MM.YYYY 14:19:01.113][INFO][PageStatistic] (9 type(s) without free-space tracking hidden, 108549 pages - use --verbose to show)
[DD.MM.YYYY 14:19:01.113][INFO][PageStatistic] ------------------
[DD.MM.YYYY 14:19:01.114][INFO][PageStatistic] Full size 1620,97M
[DD.MM.YYYY 14:19:01.114][INFO][PageStatistic] Free size 101,84M
[DD.MM.YYYY 14:19:01.114][INFO][PageStatistic] Free percent 6,28%
По указанному в примере пути утилита сделала вывод по кешу CACHETEST:
1 T_DATA 394241 pages, 25,14M free, 1,63% unused
Тип страницы T_DATA (тип страниц, в которых физически хранятся записи кеша) насчитывает 394 241 страницу. Из общего объема этих страниц не занято 25,14 МБ или 1,6% страниц — это хороший пример плотно расположенных данных.
Ниже в выводе утилиты указана гистограмма распределения страниц по их заполнению:
[DD.MM.YYYY 14:19:01.112][INFO][PageStatistic] 0- 10%: 1 pages
[DD.MM.YYYY 14:19:01.112][INFO][PageStatistic] 80- 90%: 1024 pages
[DD.MM.YYYY 14:19:01.112][INFO][PageStatistic] 90-100%: 393216 pages
Пояснения по гистограмме:
0-10%: 1 pages— количество страниц, которые заполнены на 0–10%;80-90%: 1024 pages— количество страниц, которые заполнены на 80–90%;90-100%: 393216 pages— количество страниц, которые заполнены на 90–100%.
В финальной части вывода утилиты по кешу CACHETEST указана суммированная информация по всем типам страниц и рассчитаны общий занимаемый объем, объем свободного места на выделенных страницах и процентное соотношение свободного места ко всему занимаемому страницами объему на диске:
Full size 1620,97M— общий объем занимаемого страницами места;Free size 101,84M— выделенное на страницах, но не занятое данными место;Free percent 6,28%— процент свободного места ко всему занимаемому страницами объему.
В выводе утилиты видно, что основное количество страниц CACHETEST хранится в T_DATA. Гистограмма распределения страниц показывает их плотное заполнение, что является хорошим результатом.
Интерпретация результатов#
В первую очередь стоит смотреть на заполнение страниц из T_DATA, так как они хранят наиболее полезные данные. Остальные типы — это системные страницы или страницы с индексами. Размер страницы по умолчанию — 4 КБ.
Интерпретация результатов вывода утилиты:
Free % <20%— нормальная работа кластера.Free % ~20-40%— рекомендуется следить за тем, как меняется процент свободного места.Free % ~40-60%— есть вероятность, что данные хранятся не оптимально. Стоит попробовать:изменить размер записываемых данных;
изменить размер страницы по умолчанию;
воспользоваться плагином
Cache objects compression Pluginдля сжатия данных;выполнить дефрагментацию данных.
Free % ~80%— большая часть занимаемого страницами места не используется. Если недавно было выполнено большое количество удалений данных из кеша, эти страницы будут в дальнейшем переиспользованы. Если происходили только вставки данных — это явный знак, что данные на страницах хранятся не оптимально и стоит воспользоваться рекомендациями из предыдущего пункта.