Ao usar um disco virtual, entendo que em um HDD geralmente há uma penalidade na velocidade de gravação enquanto a unidade ainda está crescendo. Mas para um SSD essa penalidade é praticamente eliminada? Existe alguma outra vantagem em usar um tamanho fixo?
Responder1
De acordo comdocumentos, a diferença de desempenho só é perceptível enquanto o disco está se expandindo; caso contrário, é insignificante. Veja como eles descrevem um disco alocado dinamicamente:
Embora esse formato ocupe menos espaço inicialmente, o fato de o Oracle VM VirtualBox precisar expandir o arquivo de imagem consome recursos computacionais adicionais, portanto, até que o tamanho do arquivo do disco se estabilize, as operações de gravação podem ser mais lentas do que com discos de tamanho fixo. No entanto, após algum tempo, a taxa de crescimento diminuirá e a penalidade média para operações de gravação será insignificante.
Isso me faz pensar que um disco de tamanho fixo é adequado para aplicativos que são tão sensíveis a lentidão durante a execução que você está disposto a esperar antecipadamente quando o disco é criado; caso contrário, é preferível alocar dinamicamente.
Responder2
Não creio que um disco virtual de tamanho fixo dê tanta diferença. O oposto pode ser verdade porque tive muitos problemas com a alocação esparsa de arquivos em alguns dispositivos incorporados. Portanto, usar um SSD em vez de um HDD não simplifica a solução da tarefa. Um tamanho de disco fixo consumiria todo o espaço livre em disco e o SSD ainda é um armazenamento caro, portanto, eu não recomendaria usar um disco de tamanho fixo em um SSD.
Responder3
Depende do que você chama de perceptível.
Provavelmente, a diferença mais notável que vejo entre discos de tamanho fixo e discos de tamanho dinâmico é quando você cria discos diferenciais. Os ganhos de desempenho usando um disco diferencial são enormes se o disco pai for um disco fixo.
Em um SSD, tecnicamente a penalidade ainda existe. Apenas não tão perceptível.
Como qualquer coisa relacionada ao desempenho, é melhor construir um exemplo real e executar um benchmark. Falar sobre uma situação de desempenho não gera métricas de desempenho.