Provavelmente não, não será um gargalo. Existe alguma sobrecarga associada às junções NTFS, mas no seu cenário deve ser insignificante.
Você poderia se livrar da sobrecarga movendo fisicamente os dados para o SSD e não usando junções (o que parece ser a preocupação central da sua pergunta para mim), mas duvido que você possa medir a diferença.
Onde as junções são armazenadas e armazenadas em cache?
As junções são do tipo pontos de nova análise que são armazenados em $Extend\$Reparse
metarquivo (outro metarquivo mais famoso é o $MFT
).
When a file or directory has a reparse point associated with it, NTFS creates an attribute named
$Reparse
for the reparse point. This attribute stores the reparse code and data. So that NTFS can easily locate all reparse points on a volume, a metadata file named\$Extend\$Reparse
stores entries that connect the reparse point file and directory MFT entry numbers to their associated reparse point codes. NTFS sorts the entries by MFT entry number in the$R
index.
fonte: Inside Win2K NTFS, Parte 1 por Mark Russinovich
Diagrama de nova análise
fonte: Inside Win2K NTFS, Parte 1 por Mark Russinovich
Houve comentários de que as junções são armazenadas na MFT e que a MFT está armazenada em cache. Bem, agora, quando sabemos onde as junções são armazenadas, eu exigiria uma fonte confiável para suportar a declaração de armazenamento em cache; que eu não consegui encontrar.
Então, eu não sei, mas não acho que isso importe.
Existe um cenário documentado quando a junção entre os discos diminuiu o desempenho?
Sim, o ARF foi executado em problema como este. Ele estava comparando a exclusão em lote de arquivos pequenos e, quando a operação era realizada através da junção, o fator limitante não era mais IO (como esperado), mas a CPU. Este benchmark também foi discutido em detalhes no GitHub .