Borketh / yeet

high performance in-memory indexed static file webserver

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Yeet GitHub Workflow Status GitHub go.mod Go version GitHub tag (latest by date)

CLI Usage: Docs

Features

  • Fast
  • 0 setup
  • Local fs support
  • S3 support
  • Redis-backed S3 support
  • Cuckoo filter for Redis-S3
  • File watching (local only)

Docker

docker run -v /path/to/data:/www -p 8080:8080 ghcr.io/vilsol/yeet:latest

Benchmarks (GOMAXPROCS=1)

Baseline

BenchmarkServerGet1ReqPerConn                            8512062              1379 ns/op               0 B/op          0 allocs/op
BenchmarkServerGet2ReqPerConn                           11406890              1057 ns/op               0 B/op          0 allocs/op
BenchmarkServerGet10ReqPerConn                          15189015               775 ns/op               0 B/op          0 allocs/op
BenchmarkServerGet10KReqPerConn                         17068996               698 ns/op               0 B/op          0 allocs/op
BenchmarkServerGet1ReqPerConn10KClients                  8310056              1409 ns/op               0 B/op          0 allocs/op
BenchmarkServerGet2ReqPerConn10KClients                 10608926              1058 ns/op               0 B/op          0 allocs/op
BenchmarkServerGet10ReqPerConn10KClients                15363962               773 ns/op               0 B/op          0 allocs/op
BenchmarkServerGet100ReqPerConn10KClients               16854955               707 ns/op               0 B/op          0 allocs/op

With cache expiry

BenchmarkServerGet1ReqPerConnExpiry                      8677137              1375 ns/op               0 B/op          0 allocs/op
BenchmarkServerGet2ReqPerConnExpiry                     11386528              1053 ns/op               0 B/op          0 allocs/op
BenchmarkServerGet10ReqPerConnExpiry                    15480867               773 ns/op               0 B/op          0 allocs/op
BenchmarkServerGet10KReqPerConnExpiry                   16949194               707 ns/op               0 B/op          0 allocs/op
BenchmarkServerGet1ReqPerConn10KClientsExpiry            8515335              1388 ns/op               0 B/op          0 allocs/op
BenchmarkServerGet2ReqPerConn10KClientsExpiry           11266317              1060 ns/op               0 B/op          0 allocs/op
BenchmarkServerGet10ReqPerConn10KClientsExpiry          15184057               776 ns/op               0 B/op          0 allocs/op
BenchmarkServerGet100ReqPerConn10KClientsExpiry         16339011               714 ns/op               0 B/op          0 allocs/op

About

high performance in-memory indexed static file webserver

License:GNU General Public License v3.0


Languages

Language:Go 99.8%Language:Dockerfile 0.2%