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.