Najprawdopodobniej nie, to nie będzie wąskie gardło. Jest pewien narzut związany z połączeniami NTFS, ale w twoim scenariuszu powinno to być nieistotne.
Możesz pozbyć się narzutów, fizycznie przenosząc dane na dysk SSD i w ogóle nie używając skrzyżowań (co wydaje mi się być głównym problemem twojego pytania), ale wątpię, czy mógłbyś zmierzyć różnicę.
Gdzie są przechowywane i buforowane węzły?
Połączenia są rodzajem punktów ponownej analizy, które wszystkie są przechowywane w $Extend\$Reparse
metapliku (innym bardziej znanym metaplikiem jest $MFT
).
Gdy do pliku lub katalogu jest powiązany punkt ponownej analizy, NTFS tworzy atrybut o nazwie $Reparse
punktu ponownej analizy. Ten atrybut przechowuje kod ponownej analizy i dane. Aby system plików NTFS mógł łatwo zlokalizować wszystkie punkty ponownej analizy na woluminie, w pliku metadanych o nazwie
\$Extend\$Reparse
znajdują się wpisy, które łączą plik punktu ponownej analizy i numery pozycji katalogu MFT z powiązanymi z nim kodami ponownej analizy. NTFS sortuje wpisy według numeru wpisu MFT w $R
indeksie.
źródło: Inside Win2K NTFS, część 1 autorstwa Marka Russinovicha
Ponownie wykonaj schemat
źródło: Inside Win2K NTFS, część 1 autorstwa Marka Russinovicha
Pojawiły się komentarze, że skrzyżowania są przechowywane w MFT i że MFT jest buforowane. Teraz, gdy wiemy, gdzie są przechowywane skrzyżowania, potrzebowałbym wiarygodnego źródła do obsługi roszczenia o buforowanie; których nie mogłem znaleźć.
Więc nie wiem, ale nie sądzę, żeby to miało znaczenie.
Czy istnieje udokumentowany scenariusz, w którym skrzyżowanie między dyskami zmniejszyło wydajność?
Tak, ARF ma takie problemy . Benchmark porównywał wsadowo usuwanie małych plików, a kiedy operacja była przeprowadzana na skrzyżowaniu, czynnikiem ograniczającym nie było już IO (zgodnie z oczekiwaniami), ale procesor. Ten test porównawczy został również szczegółowo omówiony na GitHub .