Benchmarking von Linux-Servern zur Auswahl des besten Servers

Como comparar servidores Linux para escolher o melhor

Se você precisa de um servidor virtual privado, ou dedicado, você tem muitas opções. E como o mercado está inundado e em constante evolução, não existe “melhor” para todos – ou, pelo menos, “melhor” em tudo.

Alguns provedores de nuvem podem oferecer servidores virtuais privados com o armazenamento mais rápido, enquanto seu poder de CPU não é o maior. Outro provedor pode oferecer o melhor desempenho de CPU do mercado, mas seus dispositivos de armazenamento são mais lentos. Além disso, com todos tentando roubar clientes de seus concorrentes, o provedor com armazenamento lento pode atualizar seus dispositivos e se tornar o melhor em seu mercado, seis meses depois. Mas, com benchmarks, você pode comparar diferentes fornecedores e escolher o que é melhor para você no momento.

Algumas palavras sobre benchmarking

Normalmente, você adaptaria benchmarks para seu caso de uso específico, junto com hardware, e veria o quanto você pode extrair de seus dispositivos, seus níveis máximos de desempenho. No entanto, neste caso, você executará testes genéricos que podem não esgotar absolutamente cada gota de potencial. Mas, como eles serão executados com os mesmos parâmetros no mesmo sistema operacional, você obterá números reais que podem facilmente comparar e ver qual provedor tem melhor ou pior desempenho do que outro em situações idênticas.

Pré-requisitos

  • Use a imagem estável mais recente do Ubuntu como sistema operacional. No momento em que este artigo foi escrito, era 18,04 LTS. Não importa se você usar outro sistema operacional posteriormente. Isso lhe dará um ponto de partida comum.
  • Você pode adaptar alguns dos comandos neste tutorial. Se você fizer isso, lembre-se de usar exatamente os mesmos parâmetros em todos os servidores para fazer uma comparação correta.
  • É uma boa ideia executar o mesmo benchmark duas vezes em cada servidor. Alguns provedores de nuvem oferecem resultados inconsistentes. Nesse caso, você deve evitá-los completamente, pois é um sinal de que o isolamento do sistema operacional convidado não é tão bom ou que eles espremem muitos clientes no mesmo hardware.
  • O tutorial assume que você está logado como root. Se você estiver conectado como um usuário regular, precisará prefixar todos apt comandos com sudo para que algo como apt update && apt install fio torna-se sudo apt update && sudo apt install fio

Armazenamento de servidor de benchmark

Primeiro, instale o software de benchmarking.

Se você receber uma mensagem de que o fio não pode ser encontrado, significa que você não tem o repositório de universo habilitado. Você pode habilitá-lo com apt install software-properties-common && add-apt-repository universe e repita o comando acima para instalar o fio.

Uma leitura sequencial acontece quando os dados são lidos de forma contígua. Por exemplo, quando você lê um arquivo de 4 GB do início ao fim, ele geralmente mostra a velocidade máxima de leitura possível com seu dispositivo de armazenamento e o sistema de arquivos que está usando no momento. Você pode executar um teste de leitura sequencial com:

Se isso terminar em menos de vinte segundos (isso geralmente acontece se o armazenamento estiver em um SSD), você deve aumentar o tamanho do arquivo que está sendo lido para obter resultados mais precisos, como a linha de código abaixo.

Os números mais importantes aos quais você deve prestar atenção, neste resultado, são READ: bw, destacado na imagem a seguir.

Para testar a velocidade de gravação sequencial, execute:

Verifique os mesmos números.

Para testar o desempenho do seu armazenamento em nuvem nas condições mais estressantes, execute este teste:

Assim como acima, aumente --size se o teste terminar muito rápido. Nesse caso, a largura de banda é menos importante – considere-a secundária.

Primeiro, olhe para read: IOPS e write: IOPS.

Leitura aleatória de benchmark de servidor

Como um exemplo do mundo real, o armazenamento do servidor seria estressado assim em um site muito ocupado com um banco de dados muito grande que precisa ser lido e gravado constantemente.

CPU e memória do servidor de benchmark

Visita Página de download do Geekbench. Copie o link para o arquivo mais recente do Geekbench e cole-o no wget comando. Por exemplo, no momento em que este artigo foi escrito, este link é “http://cdn.geekbench.com/Geekbench-4.3.3-Linux.tar.gz.” O comando a seguir fará o download do Geekbench para o seu servidor.

Extraia arquivos do arquivo.

Benchmark de servidor extraindo Geekbench

Mude para o diretório extraído, que será equivalente à versão do programa que você encontrou disponível e foi gerada no comando anterior (como na imagem acima).

No momento da escrita, o nome do arquivo executável é geekbench4, mas isso pode mudar no futuro. Liste arquivos em seu diretório atual.

Benchmark do servidor Encontre o nome executável do Geekbench

Execute o benchmark, substituindo o nome do executável, se necessário.

Vai demorar um pouco até que todos os testes sejam concluídos. No final, você receberá um link para ver os resultados.

Resultados do servidor Benchmark Geekbench

Benchmark Server’s Network Bandwidth

Instale o cliente Speedtest.

Execute o benchmark.

Resultados do Speedtest de Benchmark do Servidor

Normalmente, o utilitário deve encontrar um servidor de teste o mais próximo possível do seu servidor. Se a detecção de local falhar, você pode listar manualmente os servidores em seu país com um comando como:

Selecione o número da lista e passe-o para o próximo comando como a seguinte linha de código.

Observe que alguns servidores usados ​​pelo speedtest podem não ter muita largura de banda disponível no momento, então se o benchmark parecer retornar valores que são muito baixos, tente um servidor de upload / download diferente.

Conclusão

Isso cobre benchmarking básico de CPU, memória, armazenamento e rede. Após cada teste, você tem números que pode comparar para escolher o servidor com os melhores valores para sua carga de trabalho específica.

Rolar para cima