A razão deste conselho é evitar sobrecarregar um grupo de discos. Considere o seguinte conjunto de eventos simultâneos:
- Uma conexão de banco de dados executa um SELECT em uma tabela grande
- Uma segunda conexão de banco de dados executa um grande INSERT ou UPDATE em uma tabela diferente
- Várias pessoas fazem login na máquina de uma só vez (SSH)
Se o seu sistema estava rodando em um único disco, a cabeça agora precisa se movimentar entre a localização da tabela da qual estamos SELECT
, onde /var
vive (para registrar os logins), a localização do Write-Ahead Log (para registrar o INSERT
ou UPDATE
), os vários locais em /home
e /bin
precisavam iniciar as novas sessões do usuário e, por fim, as tabelas que estavam em INSERT
ed ou UPDATE
d.
Toda essa viagem de cabeça de disco leva tempo - à medida que o número de solicitações conflitantes acumula o tempo necessário, torna-se mensurável e possivelmente perceptível como um impacto no desempenho.
Se cada um desses três itens estivesse acontecendo em um grupo de discos separado ( SELECT
s para o grupo de dados, INSERT
s e UPDATE
s para o grupo WAL e material do sistema operacional para o grupo OS) os três itens acima poderiam, teoricamente, acontecer em paralelo (e a eventual liberação do Write-Ahead-Log poderia ser feita quando for conveniente para o grupo de dados).
A chave é que isto é baseado em um número teoricamente pequeno de fusos - um único disco, ou um pequeno grupo RAID de 2-4 drives. Como você e ewwhite apontam, em certo ponto ter mais fusos atenua as solicitações de viagens de cabeça conflitantes e, eventualmente, o ganho supera a possível penalidade de desempenho para a maioria das cargas de trabalho.
A chave aqui é o benchmarking de sua carga de trabalho (tanto quanto você praticamente pode). Também como foi apontado, os SSDs invalidam a principal suposição subjacente (SSDs são acesso em tempo constante para qualquer "setor" - não há atraso rotacional ou de posicionamento da cabeça), então você deve ter isso em mente se estiver usando SSDs em seu design: você provavelmente verá mais benefícios de separar SSDs do que de separá-los para isolar a atividade com base na suposição de que solicitações de disco conflitantes exigem mais tempo para reposicionar cabeçotes e pratos mecânicos.