Performance Tuning Guide
ChronoSeal uses a deterministic Synthetic Gene Mutation Engine. This guide explains how to tune the mutation parameters to balance security, server throughput, and client mobile CPU limits.
Primary Tuning Parameters
Two configuration constants in the ChronoSeal daemon dictate the complexity of synthetic mutation progression:
gene_size: The size of the synthetic gene byte buffer (configured from 1 to 4096 bytes). Larger values increase state vector complexity.mutation_rounds: The number of mutation iterations executed per heartbeat (configured from 1 to 10 rounds). Higher counts increase server and browser CPU operations.
Recommended Profiles
| Profile | gene_size |
mutation_rounds |
Security Strength | Recommended Environment |
|---|---|---|---|---|
| Default | 512 | 4 | Moderate | Development and local testing |
| Recommended | 2048 | 4 | Strong | Most production deployments |
| High Security | 4096 | 8 | Very Strong | Sensitive financial or auth APIs |
| Max Practical | 4096 | 10 | Extremely Strong | High-value targets under active abuse |
gene_size = 4096 and mutation_rounds = 10. Values exceeding these ranges are rejected during configuration verification.
Monitoring Performance
1. Server-Side Observability
Check the effective parameters and database write latencies using the daemon CLI:
chronoseal config check --format yaml
chronoseal stats --format json
Avoid running the daemon with CHRONOSEAL_LOG=debug in production, as debug logging session buffers degrades server throughput.
2. Client-Side Time Measurement
Measure WASM execution time inside your browser console to verify mobile compatibility:
console.time("gene-mutation");
const commitment = preview_gene_commitment(
order_b64,
session_id,
mutation_step,
rounds
);
console.timeEnd("gene-mutation");
Tuning Progression Strategy
When upgrading mutation strength in production, we recommend a step-by-step approach to monitor mobile battery impact:
- Start at our standard baseline:
gene_size = 2048,mutation_rounds = 4. - Deploy and monitor the heartbeat verification success metrics. Look for increases in client timeouts.
- Increase state size first (e.g. to
4096) before raising the number of execution rounds. - Perform testing on older Android/iOS mobile devices. Desktops are highly forgiving of high WASM execution loads; low-end mobile CPUs are not.
Storage Backend Impact
The choice of storage backend has a significant impact on transaction throughput:
sqlite-in-memory: Highest performance, zero write latency. Ideal for ephemeral deployments.sqlite-in-disk: Bounded by disk write capacity and database file locks.valkey: Scales horizontally across multiple stateless daemon instances connecting to a shared Redis/Valkey cluster.