Comparison with Other Proxies
Feature Matrix
Section titled “Feature Matrix”| Feature | Dwaar | Caddy | Nginx | Traefik | HAProxy | Envoy |
|---|---|---|---|---|---|---|
| Setup | ||||||
| Lines for basic proxy | 3 | 3 | 14 | 15 | 12 | 30+ |
| Auto HTTPS | Yes | Yes | No | Yes | No | No |
| Zero-config defaults | Yes | Yes | No | Partial | No | No |
| Runtime config API | Yes | Yes | Reload | Yes | Stats | xDS |
| Docker label discovery | Yes | Plugin | No | Yes | No | No |
| Performance | ||||||
| Language | Rust | Go | C | Go | C | C++ |
| Memory (idle) | ~6 MB | ~30 MB | ~10 MB | ~50 MB | ~10 MB | ~50 MB |
| Memory (under load)* | 6 MB | — | 51 MB | — | — | — |
| HTTP/2 | Yes | Yes | Yes | Yes | Yes | Yes |
| Connection pooling | Yes | Yes | Yes | Yes | Yes | Yes |
| Zero-downtime upgrade | Yes | Yes | Limited | Yes | Yes | Yes |
| Observability | ||||||
| Structured logging | Yes | Yes | Plugin | Yes | No | Yes |
| Built-in analytics | Yes | No | No | No | No | No |
| First-party (ad-block-proof) | Yes | No | No | No | No | No |
| Bot detection | Yes | No | No | No | No | No |
| Prometheus metrics | Yes | Plugin | Plugin | Yes | Yes | Yes |
| Security | ||||||
| Rate limiting | Yes | Plugin | Plugin | Yes | Yes | Yes |
| Security headers (auto) | Yes | No | No | No | No | No |
| WASM plugins | Yes | No | No | Plugin | No | Yes |
| Unique to Dwaar | ||||||
| First-party analytics | Yes | — | — | — | — | — |
| Dwaarfile config | Yes | — | — | — | — | — |
| Pingora engine | Yes | — | — | — | — | — |
*Under-load numbers from identical benchmark: macOS Apple Silicon, wrk 4t/1000c/10s, Rust TCP backend. Dwaar v0.1.0 --bare vs nginx 1.27 worker_processes auto. Dwaar: 67K RPS, P99 5.14ms. nginx: 63K RPS, P99 8.35ms. Full results: bench/RESULTS.md.
When to Choose Dwaar
Section titled “When to Choose Dwaar”Choose Dwaar if you want:
- Caddy’s simplicity with better performance
- Built-in analytics without adding another service
- A modern Rust proxy with WASM extensibility
- The smallest memory footprint for a full-featured proxy
Choose Caddy if you need:
- Maximum plugin ecosystem (hundreds of Go modules)
- HTTP/3 support today
- 10 years of production battle-testing
Choose Nginx if you need:
- Maximum raw throughput and you have ops expertise
- Lua scripting for complex logic
- The most widely documented proxy
Choose Traefik if you need:
- Deep Kubernetes integration (Ingress Controller)
- Built-in service discovery across multiple orchestrators
- Enterprise middleware ecosystem
Choose HAProxy if you need:
- Layer 4 (TCP/UDP) load balancing
- Maximum reliability for critical infrastructure
- Advanced health checking and failover