C.9. Статистика glock

GFS2 предоставляет инструменты для сбора статистики, анализ которой поможет идентифицировать причины снижения производительности и оптимизировать работу файловой системы.
GFS2 использует два счетчика:
  • dcount отслеживает число запросов к DLM и помогает оценить, на основе какого количества исходных данных рассчитывалось среднее значение и дисперсия цикла блокировки DLM;
  • qcount подсчитывает число вызовов syscall, тем самым отслеживая число запросов блокировки в очереди glock. Желательно, чтобы это число превышало значение dcount.
Также статистику производительности GFS2 можно извлечь из трех пар значений (среднего и дисперсии), которые рассчитываются по сглаженному экспоненциальному алгоритму аналогично тому, как это делается при расчете времени полного цикла в сетевых протоколах. Их значения приведены в наносекундах.
  • srtt/srttvar: продолжительность полного цикла неблокирующих запросов DLM;
  • srttb/srttvarb: продолжительность полного цикла блокирующих запросов DLM;
  • irtt/irttvar: интервал между запросами DLM.
Неблокирующий запрос сразу возвращает результат независимо от состояния блокировки DLM. Это происходит в нескольких случаях: если запрашиваемая блокировка свободна или установлена в режиме NL (то есть ее можно перехватить), установлена в монопольном режиме, или если установлен флаг пробного запроса блокировки («t», «T»). Все остальные запросы являются блокирующими.
Чем реже делаются запросы к DLM (в силу высокого попадания в кэш), и чем быстрее обслуживаются оба типа запросов, тем выше эффективность работы файловой системы.
Статистика GFS2 хранится в файлах sysfs:
  • glstats — его формат напоминает файл glocks, но на один glock выделена одна строка, в которой приведена статистика по рассмотренным выше критериям.
  • lkstats содержит статистику glock по процессорным ядрам. Каждая строка содержит одну из восьми перечисленных характеристик glock, то есть для одного glock требуется 8 строк (три пары средних значений и дисперсии плюс два счетчика). В столбцах перечислены процессорные ядра.