Pagina inicial » como » Como ajustar seu SSD no Ubuntu para melhorar o desempenho

    Como ajustar seu SSD no Ubuntu para melhorar o desempenho

    Há muitas dicas para ajustar seu SSD no Linux e muitos relatórios sobre o que funciona e o que não funciona. Nós executamos nossos próprios benchmarks com alguns ajustes específicos para mostrar a verdadeira diferença.

    Referências

    Para avaliar nosso disco, usamos o Phoronix Test Suite. É grátis e tem um repositório para o Ubuntu, para que você não precise compilar do zero para executar testes rápidos. Nós testamos o nosso sistema logo após uma nova instalação do Ubuntu Natty 64-bit usando os parâmetros padrão para o sistema de arquivos ext4.

    Nossas especificações do sistema foram as seguintes:

    • AMD Phenom II quad-core a 3,2 GHz
    • Placa-mãe MSI 760GM E51
    • 3,5 GB de RAM
    • AMD Radeon 3000 integrado com 512MB de RAM
    • Ubuntu Natty

    E, é claro, o SSD que usamos para testar foi uma unidade OCZ Onyx de 64 GB (US $ 117 na Amazon.com no momento da gravação).

    Ajustes proeminentes

    Existem algumas mudanças que as pessoas recomendam ao atualizar para um SSD. Depois de filtrar algumas das coisas mais antigas, fizemos uma pequena lista de ajustes que as distribuições do Linux não incluíram como padrões para SSDs. Três deles envolvem a edição de seu arquivo fstab, portanto, faça isso antes de continuar com o seguinte comando:

    sudo cp / etc / fstab /etc/fstab.bak

    Se algo der errado, você sempre poderá excluir o novo arquivo fstab e substituí-lo por uma cópia do seu backup. Se você não sabe o que é isso ou quer saber como funciona, dê uma olhada no HTG Explains: O que é o fstab do Linux e como funciona??

    Evitando tempos de acesso

    Você pode ajudar a aumentar a vida útil do seu SSD reduzindo o volume de gravação do sistema operacional em disco. Se você precisa saber quando cada arquivo ou diretório foi acessado pela última vez, você pode adicionar essas duas opções ao seu arquivo / etc / fstab:

    noatime, nodiratime

    Adicione-os junto com as outras opções e verifique se todos estão separados por vírgulas e sem espaços.

    Ativando o TRIM

    Você pode ativar o TRIM para ajudar a gerenciar o desempenho do disco a longo prazo. Adicione a seguinte opção ao seu arquivo fstab:

    descartar

    Isso funciona bem para sistemas de arquivos ext4, mesmo em discos rígidos padrão. Você deve ter uma versão do kernel de pelo menos 2.6.33 ou posterior; você está coberto se estiver usando Maverick ou Natty ou tiver backports habilitados no Lucid. Embora isso não melhore especificamente o benchmarking inicial, ele deve fazer com que o sistema tenha um melhor desempenho a longo prazo e, assim, fez a nossa lista.

    Tmpfs

    O cache do sistema é armazenado em / tmp. Podemos dizer ao fstab para montá-lo na RAM como um sistema de arquivos temporário para que seu sistema toque menos no disco rígido. Adicione a seguinte linha ao final do seu arquivo / etc / fstab em uma nova linha:

    tmpfs / tmp tmpfs defaults, noatime, mode = 1777 0 0

    Salve seu arquivo fstab para confirmar essas mudanças.

    Comutando agendamentos de E / S

    Seu sistema não grava todas as alterações no disco imediatamente e várias solicitações são enfileiradas. O planejador de entrada e saída padrão - cfq - lida com isso, mas podemos mudar isso para um que funcione melhor para o nosso hardware.

    Primeiro, liste quais opções você tem disponíveis com o seguinte comando, substituindo “X” pela letra do seu drive raiz:

    cat / sys / block / sdX / queue / scheduler

    Minha instalação está em sda. Você deve ver algumas opções diferentes.

    Se você tem um prazo, você deve usar isso, pois isso lhe dá um ajuste extra mais adiante. Se não, você deve ser capaz de usar o noop sem problemas. Precisamos dizer ao sistema operacional para usar essas opções depois de cada inicialização, então vamos precisar editar o arquivo rc.local.

    Usaremos o nano, já que estamos confortáveis ​​com a linha de comando, mas você pode usar qualquer outro editor de texto que desejar (gedit, vim, etc.).

    sudo nano /etc/rc.local

    Acima da linha "exit 0", adicione essas duas linhas se você estiver usando o prazo:

    prazo de echo> / sys / block / sdX / queue / scheduler

    echo 1> / sys / block / sdX / fila / iosched / fifo_batch

    Se você estiver usando o noop, adicione esta linha:

    echo noop> / sys / block / sdX / fila / agendador

    Mais uma vez, substitua "X" pela letra da unidade apropriada para a sua instalação. Olhe tudo para se certificar de que parece bom.

    Em seguida, pressione CTRL + O para salvar e, em seguida, CTRL + X para sair.

    Reiniciar

    Para que todas essas alterações entrem em vigor, você precisa reiniciar. Depois disso, você deve estar tudo pronto. Se algo der errado e você não conseguir inicializar, você poderá desfazer sistematicamente cada uma das etapas acima até poder inicializar novamente. Você pode até usar um LiveCD ou LiveUSB para recuperar se quiser.

    Suas alterações no fstab levarão a vida útil da sua instalação, mesmo suportando as atualizações, mas sua alteração rc.local terá que ser reinstalada após cada atualização (entre versões).

    Resultados de benchmarking

    Para realizar os benchmarks, executamos o conjunto de testes de disco. A imagem superior de cada teste é antes de ajustar a configuração do ext4, e a imagem inferior é após os ajustes e uma reinicialização. Você verá uma breve explicação do que o teste mede, assim como uma interpretação dos resultados.

    Operações grandes de arquivos

    Esse teste comprime um arquivo de 2 GB com dados aleatórios e grava no disco. Os ajustes do SSD aqui mostram uma melhora de aproximadamente 40%.

    IOzone simula o desempenho do sistema de arquivos, neste caso, escrevendo um arquivo de 8GB. Mais uma vez, um aumento de quase 50%.

    Aqui, um arquivo de 8GB é lido. Os resultados são quase os mesmos que sem ajustar o ext4.

    AIO-Stress analisa de forma assíncrona entrada e saída, usando um arquivo de teste de 2GB e um tamanho de registro de 64KB. Aqui, há quase um aumento de 200% no desempenho em comparação com a baunilha ext4!

    Operações de arquivos pequenos

    Um banco de dados SQLite é criado e o PTS adiciona 12.500 registros a ele. Os ajustes do SSD diminuíram o desempenho em cerca de 10%.

    O Apache Benchmark testa leituras aleatórias de arquivos pequenos. Houve um ganho de desempenho de cerca de 25% após otimizar nosso SSD.

    O PostMark simula 25.000 transações de arquivos, 500 simultaneamente em um determinado momento, com tamanhos de arquivo entre 5 e 512 KB. Isso simula muito bem os servidores web e de email, e vemos um aumento de 16% no desempenho após ajustes.

    O FS-Mark examina 1000 arquivos com um tamanho total de 1MB e mede quantos podem ser completamente gravados e lidos em um período pré-determinado de tempo. Nossos ajustes vêem um aumento, novamente, com tamanhos menores de arquivos. Cerca de um aumento de 45% com ajustes ext4.

    Acesso ao sistema de arquivos

    O benchmark do Dbench testa as chamadas do sistema de arquivos pelos clientes, mais ou menos como o Samba faz as coisas. Aqui, o desempenho do vanilla ext4 é reduzido em 75%, um grande retrocesso nas mudanças que fizemos.

    Você pode ver que, conforme o número de clientes aumenta, a discrepância de desempenho aumenta.

    Com 48 clientes, a diferença ficou um pouco entre os dois, mas ainda há uma perda de desempenho muito óbvia por nossos ajustes.

    Com 128 clientes, o desempenho é quase o mesmo. Você pode argumentar que nossos ajustes podem não ser ideais para uso doméstico neste tipo de operação, mas fornecerão desempenho comparável quando o número de clientes for bastante aumentado.

    Este teste depende da biblioteca de acesso AIO do kernel. nós temos uma melhoria de 20% aqui.

    Aqui, temos uma leitura aleatória multi-thread de 64MB, e há um aumento de 200% no desempenho aqui! Uau!

    Ao gravar 64 MB de dados com 32 threads, ainda temos um aumento de 75% no desempenho.

    O Compile Bench simula o efeito da idade em um sistema de arquivos representado pela manipulação de árvores do kernel (criação, compilação, correção, etc.). Aqui, você pode ver um benefício significativo através da criação inicial do kernel simulado, cerca de 40%.

    Esses benchmarks medem simplesmente quanto tempo leva para extrair o kernel do Linux. Não muito de um aumento no desempenho aqui.

    Resumo

    Os ajustes que fizemos na configuração ext4 pronta do Ubuntu tiveram um grande impacto. Os maiores ganhos de desempenho foram nos domínios de gravações e leituras multiencadeadas, pequenas leituras de arquivos e grandes leituras e gravações contíguas de arquivos. Na verdade, o único lugar real que vimos no desempenho foi em chamadas simples ao sistema de arquivos, algo que os usuários do Samba devem ficar atentos. No geral, parece ser um aumento bastante sólido no desempenho de itens como hospedagem de páginas da web e assistir / transmitir vídeos grandes.

    Tenha em mente que isso foi especificamente com o Ubuntu Natty 64-bit. Se o seu sistema ou SSD for diferente, sua milhagem pode variar. No geral, parece que os ajustes do fstab e do IO scheduler foram muito úteis para um melhor desempenho, por isso, vale a pena tentar em seu próprio equipamento.

    Tem seus próprios benchmarks e quer compartilhar seus resultados? Tem outro ajuste que não conhecemos? Sair nos comentários!