Details
-
Improvement
-
Resolution: Unresolved
-
Major
-
None
-
None
-
9223372036854775807
Description
Directory auto-split should be done when the dir_split_count is hit during file creation to minimize the number of entries that need to be moved, rather than afterward. Otherwise, the entries are being created on a single MDT first, and only being migrated on a later directory access. This is sub-optimal for two reasons:
- the initial file creation will be limited to a single MDT and not distribute the load across multiple MDTs, so just entry migration will still leave all the inodes on the original MDT
- the post-creation migration will need to move many more files/entries to the other MDTs than if the files are created on the correct MDT to start with
Attachments
Issue Links
- duplicates
-
LU-14467 Allow split metadata across MDTs during file creation
-
- Resolved
-
- is related to
-
LU-14464 Auto restripe triggers with none of the reasons
-
- Open
-
-
LU-14466 metadata performance slows if the metadata migration is process is running
-
- Open
-
-
LU-15692 performance regressions for files in stripe directory
-
- Resolved
-
-
LU-15720 imbalanced file creation in 'crush' striped directory
-
- Resolved
-
-
LU-15502 mkdir returns -EBADF if default LMV is set in 2.12 client <-> 2.14 MDS system
-
- Resolved
-
- is related to
-
LU-14146 Massive directory metadata operation performance decrease
-
- Open
-
-
LU-11025 DNE3: directory restripe
-
- Resolved
-
The performance impact of the auto-split during mdtest is too high, since this moves all of the entries while the benchmark is running, and DNE distributed transactions cause a lot of sync operations. It would be better to delay the entry move, like put migrations for directory split onto a queue, and only move those entries when the RPC threads are idle (maybe with a "low priority" RPC queue that is only handled when high/normal RPCs are finished?).
That would avoid blocking the benchmark RPCs, but still split the directory early so that the metadata IOPS of the directory increase during the test, and "most" entries are created on the right MDT, with fewer entries need to be moved later on.