Canonical Wago documentation
Running many Wago instances
The current compile-once, concurrency, allocation, and memory-accounting guidance for multi-instance Wago services.
Current contract
- Compile a module once and instantiate it repeatedly.
- Serialize calls on any one instance. Separate instances isolate mutable state, but native Wasm activations are currently serialized process-wide.
- Treat published instantiation allocation bytes as Go allocation traffic, not total instance memory.
- Set declared memory/table policy limits and pass contexts with deadlines to untrusted calls.
Capacity planning
Account separately for guest linear memory, initialized data, shared native code, per-instance Go heap, virtual reservations, and process RSS/PSS. Wago does not yet publish an aggregate-memory governor or completed 80-instance dataset.
Use the published many-instance protocol as the minimum measurement checklist.