This doc contains details that are intentionally kept out of the README.
Nix setup: docs/nix.md.
There are no subcommands. Everything is a top-level flag.
Common flags:
--backends "..."--direction download|upload|both--concurrency N--duration SECONDS--prefix data-8m--file-count N--file-size-mb N--output human|json|csv|toml
Config:
- If
./netprofiler_lite.tomlexists, it is read automatically. - CLI flags override config values.
Backend specs are comma-separated:
- S3:
bucket:region(example:my-bkt:eu-north-1) - R2 (authenticated):
r2:bucket:account_idorr2:bucket(usesR2_ACCOUNT_ID) - Public HTTP origin:
https://...- Use this for CloudFront (
https://d111111abcdef8.cloudfront.net) or Cloudflare public R2 (https://pub-xxxx.r2.dev).
- Use this for CloudFront (
End-users running download-only benchmarks against public objects should NOT set credentials.
Upload tests and --ensure require credentials.
S3 (AWS):
- Env:
AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY- optional:
AWS_SESSION_TOKEN
- Shared credentials file:
~/.aws/credentials(respectsAWS_PROFILE/AWS_DEFAULT_PROFILE)- optional:
AWS_SHARED_CREDENTIALS_FILE
R2:
R2_ACCESS_KEY_IDR2_SECRET_ACCESS_KEYR2_ACCOUNT_ID(if not provided in backend spec)
HTTP 429/ very lowok%: your endpoint is rate-limiting. Reduce--concurrencyor use a different backend.preflight GET failed ... 404: objects were not seeded (or not public). Ask the maintainer to run preseeding.