Pular para o conteúdo

engenharia

Construindo um cache de CI que não limita

Como oferecemos restaurações de cache a 1 GB/s e por que a largura de banda é mais importante do que a capacidade.

{autor} · {papel} · {data} · {minutos} {minutosLabel}

As discussões sobre cache concentram-se na capacidade – o limite de 10 GB, política de despejo, taxa de acerto. Na prática, a largura de banda é a restrição que as pessoas sentem e raramente nomeiam.

Por que a velocidade de restauração domina

Uma entrada de cache só ajuda se restaurá-la for mais rápida do que recriá-la. Com uma taxa de transferência suficientemente baixa, cada cache se torna uma perda líquida e reportará uma taxa de acerto perfeita o tempo todo.

O que construímos

  • Cache armazenado no NVMe na mesma zona de disponibilidade do pool de executores
  • Pedaços endereçados ao conteúdo para que partes inalteradas não sejam transferidas novamente
  • compactação zstd, escolhida pela velocidade de descompressão em vez da proporção
  • Busca de pedaços paralelos saturando o link em vez de um único fluxo

O resultado é uma restauração sustentada de aproximadamente 1 GB/s. Isso muda quais coisas valem a pena armazenar em cache - nesse ritmo, armazenar em cache um diretório de conjunto de ferramentas de 6 GB torna-se obviamente correto, e não marginal.

Seu próximo build pode ser duas vezes mais rápido, pela metade do preço

Comece grátis. Sair é a mesma linha, e publicamos esse diff também.