Почему L2ARC не дает большего ускорения для обхода каталогов?

L2Arc обычно настроен для кэширования произвольных операций чтения с диска на SSD. Я настроил эту конфигурацию в надежде ускорить обход каталогов.

Это настройка:

# zpool list -v
NAME   SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
geek1  2.72T  1.18T  1.54T         -    53%    43%  4.64x  ONLINE  -
  sdc  1.36T   606G   786G         -    54%    43%
  sdd  1.36T   606G   786G         -    53%    43%
log      -      -      -         -      -      -
  zil  3.97G      0  3.97G         -     0%     0%
cache      -      -      -         -      -      -
  l2arc  32.0G  4.24G  27.8G         -     0%    13%

На машине 20 ГБ памяти: достаточно для Arc.

Я ожидал найти find для значительного ускорения вызова файловой системы. Он ускорен в 5 раз, но в абсолютном выражении все еще медленный. Чтобы перечислить 46 миллионов файлов, требуется 3,4 часа.

# while true; do time find /geek1/ -type f|wc -l; done
46774149

real    1103m18.661s
user    2m15.143s
sys     5m52.096s
46774149

real    243m0.289s
user    2m3.063s
sys     5m7.107s
46774149

real    205m23.922s
user    2m7.566s
sys     6m32.638s

Как можно повысить эффективность обхода каталогов?

zpool получить все выводит:

NAME   PROPERTY                    VALUE                       SOURCE
geek1  size                        2.72T                       -
geek1  capacity                    43%                         -
geek1  altroot                     -                           default
geek1  health                      ONLINE                      -
geek1  guid                                                    default
geek1  version                     -                           default
geek1  bootfs                      -                           default
geek1  delegation                  on                          default
geek1  autoreplace                 off                         default
geek1  cachefile                   -                           default
geek1  failmode                    wait                        default
geek1  listsnapshots               off                         default
geek1  autoexpand                  off                         default
geek1  dedupditto                  0                           default
geek1  dedupratio                  4.64x                       -
geek1  free                        1.54T                       -
geek1  allocated                   1.18T                       -
geek1  readonly                    off                         -
geek1  ashift                      0                           default
geek1  comment                     -                           default
geek1  expandsize                  -                           -
geek1  freeing                     0                           default
geek1  fragmentation               53%                         -
geek1  leaked                      0                           default
geek1  feature@async_destroy       enabled                     local
geek1  feature@empty_bpobj         active                      local
geek1  feature@lz4_compress        active                      local
geek1  feature@spacemap_histogram  active                      local
geek1  feature@enabled_txg         active                      local
geek1  feature@hole_birth          active                      local
geek1  feature@extensible_dataset  enabled                     local
geek1  feature@embedded_data       active                      local
geek1  feature@bookmarks           enabled                     local
geek1  feature@filesystem_limits   enabled                     local
geek1  feature@large_blocks        enabled                     local
4
задан 7 June 2017 в 12:27
1 ответ

Если вы используете ZFS в Linux, возможно, медлительность зависит от настройки по умолчанию xattr ( xattr = on ), в которой хранятся расширенные атрибуты внутри скрытых каталогов / файлов.

Попробуйте установить chaning xattr на sa , что-то вроде zfs set xattr = sa . Однако это влияет только на вновь созданные файлы; поэтому вам нужно удалить / перезагрузить все файлы, чтобы получить значительную скорость.

Другими словами, попробуйте в небольшом масштабе, прежде чем перезагружать все ваши файлы.

1
ответ дан 3 December 2019 в 04:08

Теги

Похожие вопросы