1.4.3. Производительность

Некоторые функции GFS2 аналогичны GFS, но значительно улучшают производительность файловой системы.
Преимущества GFS2:
  • Высокая производительность при высокой интенсивности обращения к отдельному каталогу.
  • Высокая скорость синхронного ввода-вывода.
  • Высокая скорость чтения данных из кэша (нет задержек блокирования).
  • Высокая скорость прямого ввода-вывода для предварительно выделенных файлов при условии, что размер блоков достаточно велик (например, 4 МБ).
  • Высокая скорость ввода-вывода в целом.
  • df выполняется намного быстрее вследствие более быстрых вызовов statfs.
  • Возможность коррекции частоты обновления atime.
Кроме того:
  • GFS2 интегрирована в официально поддерживаемое ядро (2.6.19).
  • GFS2 поддерживает:
    • расширенные атрибуты файлов (xattr);
    • настройку атрибутов lsattr() и chattr() с помощью ioctl();
    • метки времени с точностью до наносекунд.
Улучшена внутренняя эффективность GFS2:
  • GFS2 экономно использует память ядра.
  • В GFS2 нет необходимости в использовании счетчика генерации метаданных.
    Выделение метаданных GFS2 не требует выполнения операций чтения. Управление копиями блоков метаданных в разных журналах осуществляется за счет их отзыва из журналов перед снятием блокировки. Это предотвращает параллельное изменение одного и того же блока в других журналах.
  • GFS2 использует упрощенный менеджер журналирования (без учета несвязанных дескрипторов и изменений квот).
  • gfs2_grow и gfs2_jadd используют блокирование для предотвращения одновременного выполнения нескольких экземпляров.
  • Упрощен код ACL для creat() и mkdir().
  • Учет несвязанных дескрипторов, обновлений квот и изменений statfs без необходимости повторного монтирования журнала.