[Dicas-L] Hardware para sistemas GNU/Linux - Dicas de Desempenho - Parte 1
Data de Publicação: 09 de agosto de 2010
Instale o máximo de memória que puder. Ter muita memória livre irá melhorar o desempenho da memória virtual (e sistemas Linux usam a memória extra mais efetivamente do que sistemas Windows). Felizmente, com o preço baixo da memória hoje em dia, um gigabyte ou três não irá estourar o seu orçamento, mesmo que você esteja economizando.
Barramentos e velocidade dos discos
A maior parte das pessoas pensam que o processador é a escolha mais importante na especificação de um computador pessoal. Mas para as tarefas típicas executadas em sistemas GNU/Linux, o tipo de processador é algo secundário - é muito mais importante especificar convenientemente o tipo de barramento do sistema e o subsistema de I/O. Se você duvida, você poderá aprender muito mantendo o comando top executando enquanto usa seu computador. Observe quão raramente o percentual ocioso da CPU fica abaixo de 90%.
É verdade que depois que é feita uma atualização da placa mãe se nota um aumento do rendimento geral do sistema. Mas isto ocorre devido às outras mudanças que ocorrem juntamente com a atualização do processador, como o cache de memória aperfeiçoado ou um aumento na velocidade de clock do barramento posterior (permitindo que os dados entrem e saiam do processador mais rapidamente).
Se você estiver adquirindo um novo sistema GNU/Linux e não tem muitos recursos, faz mais sentido trocar alguns clocks de processamento excedentes por um barramento e um subsistema de discos mais rápidos. Se você estiver construindo uma máquina monstruosa, siga em frente e adquira o processador mais veloz que puder - mas uma vez que você supere este desejo obstinado por números grandes, preste muita atenção na velocidade do barramento e do subsistema de discos, porque é aqui que você conseguirá os ganhos de desempenho reais. A distância entre a velocidade do processador e a capacidade do subsistema de I/O só cresceu nos últimos cinco anos.
Como isto se traduz em uma receita? Assim; se você estiver construindo uma máquina monstruosa:
Compre uma máquina com o barramento dianteiro (processador para memória) mais rápido que existir.
Compre uma máquina com uma controladora SCSI de alta velocidade e os discos SCSI mais rápidos que você conseguir obter.
Se você estiver economizando, não precisa se preocupar com isto. Mas ao trocar a tecnologia SCSI por SATA, sua confiabilidade (tempo estimado antes da falha) irá cair. Falaremos mais sobre isto na próxima seção.
A guerra dos discos: SATA vs SCSI
Ao procurar pelos discos mais rápidos do mercado, preste bastante atenção nos tempos médios de busca (average seek) e tempo de latência (latency time). O primeiro é o tempo médio requerido para localizar qualquer trilha; o último é o tempo máximo requerido para que qualquer setor em uma trilha seja posicionado sob as cabeças de leitura e gravação, e ambos são uma função da velocidade de rotação do disco.
Destes, o tempo médio de busca é muito mais importante. Ao rodar sistemas GNU/Linux ou qualquer outro sistema que utilize memória virtual, um milissegundo a menos pode fazer uma diferença substancial no rendimento do sistema. Voltando ao tempo em que os processadores de PCs eram lentos o suficiente para que fosse possível fazer uma comparação (e eu estava executando o System V Unix), um incremento de 30 MHz na velocidade do processador era um grande ganho. Hoje, o número equivalente seria algo como 300 MHz.
Os próprios fabricantes evitam aumentar o tempo de busca (seek time) nos sistemas de maior velocidade acrescentando pratos verticalmente ao invés de aumentar o seu tamanho. Assim, o tempo de busca (que é proporcional ao raio do prato e à velocidade de movimento das cabeças) tende a ser constante através das diferentes capacidades de armazenamento de uma mesma linha de produto. Isto é bom, pois significa que você não precisa se preocupar com questões relativas à capacidade do disco e velocidade.
Discos com menos de 40 GB de capacidade simplesmente não são mais fabricados; não existe margem de ganho neles. Nossos espiões nos dizem que todos os maiores fabricantes de discos reaparelharam suas linhas algum tempo atrás para produzir pratos de 9 GB, que são empilhados à razão de 2N por eixo para produzir incrementos de capacidade de aproximadamente 18 GB.
A latência média é inversamente proporcional à velocidade rotacional do disco. Por muitos anos, a maior parte dos discos rodava a 3.600 rpm; hoje a maior parte dos discos roda a 7.200 ou 10.000 rpm, e os discos mais velozes rodam a 15.000 rpm. Estes discos rápidos ficam extremamente quentes; resfriamento está se tornando uma restrição crítica no projeto destes dispositivos.
Outra decisão básica a ser tomada é escolher discos SATA ou SCSI (os barramentos IDE e EIDE estão obsoletos). O custo de ambos os discos é o mesmo, mas a vantagem de uma placa SCSI varia, parcialmente devido às diferenças de preço entre placas VLB e PCI SCSI e principalmente porque muitos vendedores de placas mãe embutem o chipset SATA direto na placa do sistema. A tecnologia SCSI lhe oferece maior velocidade e rendimento, e sobrecarrega menos o processador, um ganho para discos maiores e algo importante a ser considerado em ambientes multi-usuários; adicionalmente, é mais expansível. Você pode ter no máximo quatro dispositivos SATA em uma controladora. Controladoras SCSI permitem até 7 dispositivos (15 para wide scsi).
Admitimos, a vantagem do SCSI diminuiu um pouco desde 2001; a nova geração de discos SATA é muito rápida, e as controladoras normalmente possuem um canal por dispositivo e DMA (Direct Memory Access), de modo que alguns dos problemas de contenção encontrados em ambientes multi-usuário que congestionavam sistemas IDE diminuiram. Com velocidades de 10.000 RPM e abaixo, o SATA é hoje tão bom quanto o SCSI (uma admissão dolorosa para alguém que odeia IDE há muito tempo, como eu), mas em velocidades de 15.000 RPM ou superiores, a tecnologia SCSI ainda reina.
É claro, SATA é mais barato. Muitas placas mãe já possuem suporte nativo à tecnologia SATA; se não possuirem, você pagará algo em torno de U$ 15 por uma placa, em oposição aos U$ 200 ou mais que precisará desembolsar por uma controladora SCSI topo de linha. Da mesma forma, a qualidade dos cabos SCSI baratos que a maior parte dos fabricantes distribui junto com seus discos pode ser escabrosa. Você tem que usar cabos de alta classe, caros, para obter bons resultados de forma consistente.