Início Empreendimento O armazenamento denso permite redes de distribuição de conteúdo mais responsivas

O armazenamento denso permite redes de distribuição de conteúdo mais responsivas

by Brian Beeler

Ao pensar em Redes de Entrega de Conteúdo (CDNs), é fácil ir direto para as grandes marcas que conhecemos, como Netflix, Hulu, etc. é intuitivo pensar no último episódio do seu programa favorito sendo distribuído no seu telefone ou na TV da sala. É claro que é muito mais complicado do que isso, e o armazenamento de alta capacidade desempenha um papel importante na experiência do cliente.

Ao pensar em Redes de Entrega de Conteúdo (CDNs), é fácil ir direto para as grandes marcas que conhecemos, como Netflix, Hulu, etc. é intuitivo pensar no último episódio do seu programa favorito sendo distribuído no seu telefone ou na TV da sala. É claro que é muito mais complicado do que isso, e o armazenamento de alta capacidade desempenha um papel importante na experiência do cliente.

Ao ligar Slotherhouse no Hulu, seu dispositivo de streaming atingirá primeiro um CDN próximo de casa. Quanto mais dados o nó CDN puder conter, maior será a probabilidade de o serviço fornecer um início rápido, em vez de saltar para um nó mais distante para recuperar o conteúdo solicitado. Os benefícios de reduzir os saltos necessários para streaming de vídeo são bastante óbvios, mas os CDNs fazem muito mais do que isso.

Os CDNs permitem outros casos de uso, como atualizações over-the-air (OTA) para carros como o Tesla ou mover esses fluxos de filmes da Internet para dentro de um avião comercial. Independentemente do tipo de arquivos entregues, uma coisa é certa: quanto mais você puder armazenar na borda, mais responsivo um CDN poderá ser – o que é fundamental, pois os clientes medem o sucesso pelos giros do pulsador, com pouco cuidado com o infra-estrutura subjacente que faz tudo acontecer.

Como de costume em nossos relatórios, não queríamos apenas especular sobre como as CDNs funcionam e onde é mais provável encontrar a pressão sobre a arquitetura. Fomos aos especialistas. Neste caso, isso é Software de verniz, um dos líderes proeminentes em software de entrega de conteúdo.

Fizemos uma parceria com a Varnish para configurar um nó CDN de borda perfeito em nosso laboratório, equipado com o software de entrega de conteúdo da Varnish, um servidor específico para CDN da Supermicro, um enorme espaço de armazenamento graças aos SSDs Solidigm P30.72 de 5316 TB e uma interconexão de 200 GbE de alta velocidade da NVIDIA para controlar melhor os estressores nos nós CDN de borda e como o armazenamento, especificamente, afeta os resultados.

Quem é o Varnish Software?

Varnish oferece software de entrega de conteúdo que facilita acelerar interações digitais, lidar com cargas de tráfego massivas e proteger a infraestrutura da web. O Varnish ajuda as organizações a mover a entrega de conteúdo o mais próximo possível do cliente para garantir a melhor experiência e, ao mesmo tempo, permitir o máximo retorno do investimento em infraestrutura.

A base é baseada em um cache HTTP de código aberto robusto e rico em recursos e em um proxy reverso, Varnish Cache, que fica entre a origem e o cliente. Ele foi otimizado para extrair o máximo desempenho e eficiência do hardware subjacente. O Varnish Cache simplifica o enfileiramento, o armazenamento e a recuperação no nível do sistema, tornando-o o método ideal para avaliar a entrega de conteúdo e cargas de trabalho de entrega de borda.

O Varnish pode funcionar em praticamente qualquer coisa, mas há uma vantagem em dar aos seus nós de borda mais potência em algumas áreas-chave para aprimorar a experiência do cliente. Cada retorno do dispositivo cliente ao data center introduz latência, portanto, quanto mais o nó de borda puder entregar, melhor. Para esse fim, construímos o nó CDN de última geração e o testamos com as rigorosas ferramentas de validação de nó do Varnish.

O que torna o Varnish CDN tão rápido?

As CDNs precisam de mais do que uma rede rápida, especialmente na borda. Seria ineficiente e lento se cada solicitação tivesse que voltar ao site host para uma atualização. A solução ideal seria um sistema de armazenamento para processar e armazenar dados perto do cliente. O sistema precisa de recursos de armazenamento massivos e de um servidor de alto desempenho que possa extrair rapidamente informações do cache e entregá-las sem demora.

A Varnish Software implementou uma solução que suporta conjuntos de dados muito grandes para atender praticamente qualquer ambiente com servidores de alto desempenho e sistemas de armazenamento de alta densidade. Conheça o mecanismo de armazenamento massivo.

O Massive Storage Engine (MSE) da Varnish Software é um mecanismo otimizado de disco e cache de memória. O MSE permite armazenamento em cache e persistência de alto desempenho para conjuntos de dados com mais de 100 TB que suportam distribuição de vídeo e mídia, CDNs e casos de uso de cache grande. O MSE é perfeito para empresas onde a entrega de alto desempenho de grandes conjuntos de dados é crítica.

Com o MSE de alto desempenho, o cache permanece intacto entre reinicializações e atualizações, evitando recargas de cache caras e demoradas. Isso fornece recuperação rápida e ajuda a evitar congestionamento na rede após uma reinicialização.

A solução MSE pode armazenar e servir objetos de tamanho quase ilimitado em cache para entrega de conteúdo rápida e escalonável. O MSE foi otimizado para fornecer conteúdo com menos fragmentação para a política de remoção de cache menos usado recentemente (LRU), resultando em desempenho e simultaneidade superiores. Para clientes com tamanho de cache superior a 50 GB ou memória limitada, Varnish recomenda o uso do MSE.

A última geração do MSE (MSE 4) permite a falha normal dos discos, permitindo que os espaços do cache persistente retomem a operação automaticamente após a detecção de uma falha no disco.

Configuração de hardware do nó Edge CDN

Em nosso cenário de teste, aproveitamos um único servidor atuando como um Edge CDN Node e um único cliente. Nosso nó CDN é baseado no Servidor Supermicro SYS-111E-WR com uma única CPU Intel Xeon Gold 6414U. Esta CPU oferece 32 núcleos e tem uma frequência base de 2 GHz.

Emparelhamos esta CPU com 256 GB de memória DDR5 e oito SSDs QLC Solidigm P5316 de 30.72 TB. Este projeto teve como objetivo mostrar o que um modelo de implantação enxuto pode oferecer em termos de desempenho sem exigir SSDs mais caros ou recursos adicionais de CPU que seriam subutilizados.

Para o lado do cliente, usamos uma plataforma de processador duplo disponível em nosso laboratório com CPUs Intel Xeon Platinum 8450H, o que é um exagero, mas tinha muitos recursos para garantir que o gargalo fosse a rede ou o nó CDN.

Nossos sistemas foram configurados com Ubuntu 22.04 como sistema operacional e cada um foi equipado com uma NIC NVIDIA de 200 Gb. A malha Ethernet de 200 Gb ofereceu bastante largura de banda para este cenário de teste.

Desempenho do nó Edge CDN

A execução do teste analisou o desempenho geral do Varnish Software no nó de borda que construímos. Especificamente, as métricas críticas avaliadas incluem TTLB (tempo até o último byte), solicitações/segundo, transferência/segundo (bytes), total de solicitações, erros, uso de CPU, uso de memória, taxa de transferência e boa produção. Para deixar claro, throughput é tudo o que é enviado pelo Varnish, e goodput é o que o cliente realmente vê, ignorando retransmissões ou dados indiretos.

Os testes foram concluídos usando WRK como uma ferramenta de geração de carga, extraindo pedaços de arquivos de tamanhos diferentes de um back-end de vídeo usando 100 conexões TCP. O teste foi projetado para ter uma taxa de acertos de cache de 90% a 95% para simular o que é frequentemente visto em ambientes de entrega de vídeo implantados. Para simular diferentes cargas de trabalho, focamos no desempenho de arquivos pequenos e grandes, onde arquivos menores poderiam simular chamadas de API e arquivos maiores poderiam representar várias qualidades de vídeo em um cenário ao vivo ou de vídeo sob demanda (VOD).

Testamos tamanhos de arquivo de 100 e 500 kilobytes para testes de objetos menores e 1,000, 10,000, 16,000 e 50,000 kilobytes para objetos maiores. Esperávamos capturar uma combinação de casos de uso de CDN observando vários tamanhos de arquivo. Para organizações que fazem chamadas de API pequenas, mas de alto volume, 100 kilobytes provavelmente serão maiores que a maioria. Para VOD, um objeto de 10 MB pode representar um videoclipe curto, 16 MB um vídeo HD e 50 MB um vídeo de qualidade ainda superior. Esses tamanhos de arquivo também podem ser aplicados à distribuição e entrega de imagens ISO, atualizações de software e pacotes de instalação.

A ferramenta de teste de carga WRK retorna TTLB (Time to Last Byte), portanto, as métricas de latência mostram o tempo de carregamento completo para todo o bloco de vídeo. Além disso, TTFB (Time to First Byte) é o tempo da primeira resposta do servidor, geralmente medido em milissegundos, e é constante para muitos tamanhos de arquivo diferentes.

Observamos TTLBs de 4.4ms até 995.2ms. Para o menor pedaço de vídeo de 100 kilobytes, a resposta completa média foi de apenas 4.4 ms. Para o tamanho maior de 50 MB, todo o carregamento ainda foi concluído em menos de 1 segundo, em média.

Outras métricas dignas de nota são as contagens de erros; os únicos erros observados foram alguns erros residuais de tempo limite. Isso é esperado para objetos de maior tamanho. O uso de CPU e memória permaneceu saudável, de aproximadamente 50% a 60% da capacidade total nesses testes. O maior uso de CPU ocorreu durante o teste de 100 KB com 58.8 por cento e o teste de 50 MB com 58 por cento devido ao grande número de solicitações para arquivos menores e ao tamanho dos arquivos maiores.

A taxa de transferência média para o vídeo de tamanho maior foi de 170.5+ Gbps, e a média para o vídeo de tamanho menor foi de 164+ Gbps.

As médias da Goodput para os tamanhos maiores foram de 158.8+ Gbps e 149.1+ Gbps para os tamanhos menores usando um cliente WRK como gerador de carregamento. Espera-se que rendimentos mais elevados possam ser alcançados escalonando os clientes WRK, conforme observado em alguns outros experimentos executados internamente pelo Varnish, mas isso está fora do escopo deste artigo.

Embora as métricas brutas de desempenho sejam importantes, o consumo de energia é outra consideração para os sistemas Edge CDN. É aqui que entra em jogo a plataforma que escolhemos para este projeto. O soquete único Servidor Supermicro SYS-111E-WR oferece uma plataforma de armazenamento NVMe densa com muitos slots PCIe para NICs sem consumir muito consumo de energia com processadores duplos.

Para medir o consumo de energia do servidor com a carga aplicada, aproveitamos nosso Quarch Mains Power Analysis Module. Isso nos dá uma visão precisa da energia consumida pelo servidor, com um tempo de resposta de 125us. Aqui, analisamos cada grupo de teste pelo mesmo período de tempo e medimos a potência média do início ao fim da carga de trabalho.

Nós nos concentramos em duas métricas de potência: potência RMS total do sistema versus tamanho do arquivo de teste e solicitações por segundo por watt. Embora a primeira suposição fosse que o uso de energia aumenta com maiores velocidades de transferência, esse não foi o caso. Vimos um consumo de energia elevado em tamanhos de transferência mais baixos, que diminuiu ligeiramente à medida que o tamanho da transferência aumentava. Isso se resume aos tamanhos de transferência menores que geram mais processos de E/S, com tamanhos de transferência maiores com menos processos de E/S.

Observando a potência total do sistema, com o tamanho de transferência de 1M, medimos um nível de potência do sistema de 473.9W, que diminuiu para 426.5W com o tamanho de transferência de 50M. Quando dividimos isso em solicitações por segundo por watt, o tamanho de transferência de 1M mediu 46.9, caindo para 1.09 para o tamanho de transferência de 50M.

Equilibrando desempenho e custo

Nosso nó Varnish CDN foi criado para fornecer desempenho e densidade excepcionais. Não apenas com a densidade de rack de servidor de 1U, mas também com a densidade de capacidade fornecida pelos SSDs Solidigm. Atualmente, estamos usando “apenas” as unidades P30.72 de 5316 TB, mas há ainda mais vantagens disponíveis com as unidades P61.44 de 5336 TB. O que é ainda melhor, a carga de trabalho do CDN é extremamente pesada para leitura, o que significa que esses SSDs baseados em QLC são perfeitos para a tarefa. Curiosamente, ao analisar os números de desempenho com o Varnish, o engenheiro deles pensou que estávamos usando SSDs Gen5 porque o desempenho do nó era muito impressionante.

Embora a densidade do servidor seja um elemento crítico, um nó CDN com custo otimizado é outra coisa. O servidor Supermicro de processador único que usamos aqui fornece ao Varnish bastante poder de hardware e opções de expansão, enquanto os dez compartimentos NVMe nos permitem acumular mais de 600 TB de armazenamento usando a liderança em capacidade SSD da Solidigm. O desempenho relativo por dólar, e se você quiser se aprofundar um pouco mais em nossos dados, desempenho por watt, as métricas aqui são indiscutíveis.

As CDNs têm a tarefa nada invejável de entregar dados a qualquer momento, com solicitações às vezes previsíveis, outras vezes não. Uma peça de hardware de servidor bem ajustada faz toda a diferença no que diz respeito ao desempenho desses nós CDN, que estão cada vez mais sendo empurrados para o limite. Com os enormes SSDs corporativos da Solidigm, esses nós podem melhorar drasticamente as taxas de acertos de cache, proporcionando, em última análise, uma experiência superior ao cliente.

Software de verniz

Armazenamento Solidigm

Este relatório é patrocinado pela Solidigm. Todas as visões e opiniões expressas neste relatório são baseadas em nossa visão imparcial do(s) produto(s) em consideração.

Envolva-se com a StorageReview

Newsletter | YouTube | Podcast iTunes/Spotify | Instagram | Twitter | TikTok | RSS feed