s3wal: real-S3 e2e push p50 ~1.07 s (~2.8x the PG+S3 baseline on the same bucket region) — census and trim per-push S3 round trips

Aberta
#182 3 comentários 0 reações 1 responsável Ver no GitHub

Mantenedores costumam responder em até 1 dia

@ThomasK33 já está trabalhando nisso.

Desde 11/9/2026.

Avaliação

Esta issue ainda não foi avaliada.

Descrição

enhancement

From the 2026-08-27 real-S3 session (eu-central-1, ~7 ms HTTP RTT to the S3 endpoint): sequential empty-commit git push against a live serve node measured

  • s3wal (bucket = ref+meta authority + blobs): p50 1070 ms (n=20, p90 1171 ms)
  • PG+S3 (containerized Postgres + same-region S3 blobs): p50 386 ms (n=20)
  • loopback-SeaweedFS s3wal e2e (Phase 4 bench): p50 138 ms

The §3 simulated-push cell (manifest GET + 8 MiB pack PUT + 2 CAS advances) costs only ~204 ms p50 on the same bucket, so the e2e path is paying roughly 25–30 additional sequential S3 round trips' worth of latency per push somewhere between receive-pack, the update hook, hydrate, LFS/quota/meta accounting, and generation bumps. Known suspect: hook processes reconstruct stores from env URLs per invocation (fresh S3 client, config load, TLS) rather than reusing the serve process's connections.

Not a Gate 1a-B kill criterion (that gate measures the simulated-push cell, which passes with wide margin), but ~1.1 s per uncontended push is the number a real adopter feels. Worth: (1) a per-push S3 round-trip census (count + purpose), (2) trimming the obvious redundancies, (3) re-measuring.


Generated with mux • Model: anthropic:claude-fable-5 • Thinking: xhigh

Linguagem predominante
Go
Estrelas
0
Forks
0
Merge médio
6h 16min
PRs com merge (30d)
243

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de coder/openstorage

Todas as issues de coder/openstorage

Issues semelhantes

Mais issues de Go

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.