Влияние на производительность запуска различных файловых систем на одном сервере Linux

13

Книга "HBase: полное руководство" гласит, что

Установка разных файловых систем на одном сервере не рекомендуется. Это может отрицательно сказаться на производительности, поскольку ядру может потребоваться разделить буферные кэши для поддержки разных файловых систем. Сообщалось, что для некоторых операционных систем это может иметь разрушительное влияние на производительность.

Это действительно относится к Linux? Я никогда не видел буферный кеш размером более 300 Мбайт, и большинство современных серверов имеют гигабайты оперативной памяти, поэтому разделение буферного кеша между различными файловыми системами не должно быть проблемой. Я что-то упустил?

Alex
источник
1
Может быть, попробуйте написать письмо / написать автору сообщения ... давайте получим его / ее вклад!
Долан Антенуччи

Ответы:

14

Разделение буферного кеша вредно, но эффект от него минимален. Я предполагаю, что он настолько мал, что его практически невозможно измерить.

Вы должны помнить, что данные между различными точками монтирования тоже недоступны.

Хотя разные файловые системы используют разные буферы распределения, это не значит, что память выделяется просто для того, чтобы сидеть и выглядеть красиво. Данные slabtopдля системы под управлением 3 разных файловых систем (XFS, ext4, btrfs):

  OBJS АКТИВНОЕ ИСПОЛЬЗОВАНИЕ ОБОЗНАЧЕНИЕ РАЗМЕРА ОБЪЕКТА ОБЗОР НАЗНАЧЕНИЕ РАЗМЕРА КЕША / ПЛАНА 
 42882 42460 99% 0,70K 1866 23 29856K shmem_inode_cache
 14483 13872 95% 0,90K 855 17 13680K ext4_inode_cache
  4096 4096 100% 0,02K 16 256 64K jbd2_revoke_table_s
  2826 1136 40% 0,94K 167 17 2672K xfs_inode
  1664 1664 100% 0,03K 13 128 52K jbd2_revoke_record_
  1333 886 66% 1,01K 43 31 1376K btrfs_inode_cache
(много других объектов)

Как видите, любой действительно большой кэш имеет уровень использования более 90%. Таким образом, если вы используете несколько файловых систем параллельно, стоимость примерно равна потере 5% системной памяти, меньше, если компьютер не является выделенным файловым сервером.

Хьюберт Карио
источник
+1 за информирование меня о команде slabtop!
Скотт
Я бы сказал, что, поскольку эти кэши являются взаимоисключающими, это не имеет большого значения (но все же может оказывать влияние на системы с ограниченными ресурсами).
Пой
5

Я не думаю, что есть негативное влияние. У меня часто ext3 / ext4 смешиваются с XFS (и даже ZFS) на одной и той же настройке сервера. Я бы не назвал свою производительность чем-то меньшим, чем ожидалось, учитывая аппаратное обеспечение, на котором я работаю.

[root@Lancaster ~]# mount
/dev/cciss/c0d0p2 on / type ext4 (rw)
/dev/cciss/c0d0p7 on /tmp type ext4 (rw,nobarrier)
/dev/cciss/c0d0p3 on /usr type ext4 (rw,nobarrier)
/dev/cciss/c0d0p6 on /var type ext4 (rw,nobarrier)
vol2/images on /images type zfs (rw,xattr)
vol1/ppro on /ppro type zfs (rw,noatime,xattr)
vol3/Lancaster_Test on /srv/Lancaster_Test type zfs (rw,noatime,xattr)

Вы обеспокоены конкретным сценарием? Какие файловые системы будут в игре? На каком распространении вы находитесь?

ewwhite
источник