Engineering Proof & Chaos Benchmark
This report documents the official empirical soak and chaos-resilience benchmark run for Lioran S3 (Lioran Bastion).
To provide complete transparency and reproducibility, all benchmark metrics, telemetry logs, crash sequences, and integrity verification audits are published below with direct access to raw immutable log artifacts.
Benchmark Executive Summary
┌───────────────────────────┬───────────────────────────┬───────────────────────────┐
│ 100.52 GiB │ 5 / 5 Crashes │ 0 Mismatches │
│ Total Ingested │ Recovered Seamlessly │ 188 Verified Samples │
├───────────────────────────┼───────────────────────────┼───────────────────────────┤
│ 87.3 MB/s │ 281.7 MB/s │ 924.2 MB │
│ Avg Write Throughput │ Avg Read Throughput │ Peak RAM RSS │
└───────────────────────────┴───────────────────────────┴───────────────────────────┘
- Run Identifier:
20260930T111856-d14352 - Engine Version: Lioran S3 V1 Pre-Alpha (
bastion-serverv0.1.0) - Organization: Lioran Developer Solutions (LDS) / Lioran Group
- Founder & CTO: Swaraj Puppalwar
- Benchmark Date: September 30, 2026
- Workload Volume: 100.52 GiB (107,931,062,250 bytes)
- Total Objects Ingested: 6,050 objects across 15 buckets
- Reference Payload:
test2.mp4(17.84 MB / 17,840,175 bytes, SHA-256:d6617a009c0c6c9aebf7398d43cad6d1985ddc1b9ab0479e2ea977362b8af5b0) - Worker Concurrency: 32 concurrent write workers, 32 concurrent read workers
- Chaos Disruptions: 5 SIGKILL hard process kills injected during active streaming I/O
- Post-Chaos Integrity Verification: 188 random samples across all 15 buckets; 0 missing objects, 0 bit rot errors, 0 SHA-256 checksum mismatches.
Detailed Performance Telemetry
1. Ingestion Phase (Write Workload)
During the write phase, 32 worker threads streamed 100.52 GiB of video payload data into 15 isolated buckets. During this ingestion, the storage daemon was subjected to 5 unannounced process crashes.
| Metric | Measured Value | Notes |
|---|---|---|
| Total Ingestion Time | 1236.1s (20m 36s) | Includes crash recovery and worker reconnection latencies |
| Successful Object Writes | 6,050 | Fully committed to disk and RocksDB metadata |
| Unexpected Write Failures | 0 | Zero unexplained data corruptions or dropouts |
| Chaos-Expected Drops | 155 | Transient HTTP connection resets during process kills |
| Average Write Throughput | 87.3 MB/s | Aggregate across all 32 workers throughout full run |
| Healthy Ingest Throughput | 88.5 MB/s | Steady-state throughput excluding restart delays |
| Peak 5-Second Burst | 663.2 MB/s | Peak ingestion during optimal memory pipeline caching |
| Latency p50 | 4,316.5 ms | Median duration for 17.84 MB object upload |
| Latency p90 | 12,823.8 ms | Upload duration under high I/O saturation |
| Latency p95 | 13,386.9 ms | Upload duration under background compaction |
| Latency p99 | 15,016.0 ms | Upload duration spanning a crash/reconnect event |
:::info Chaos Connection Handling
The 155 write drops recorded were strictly due to inflight HTTP socket disconnections during the 5 unannounced process termination signals (SIGKILL). The client driver correctly detected broken pipes, initiated exponential backoff, re-authenticated, and resumed writes with zero uncommitted orphan artifacts.
:::
2. Egress Phase (Read Workload) & Performance Honesty
Following write ingestion, 32 worker threads executed a randomized read audit across the full 6,050-object dataset.
| Metric | Measured Value | Analysis |
|---|---|---|
| Total Read Duration | 383.1s (6m 23s) | 6,050 read operations completed |
| Unexpected Read Errors | 0 | All 6,050 requested objects read with 200 OK |
| Average Read Throughput | 281.7 MB/s | Sustained concurrent read throughput |
| Peak 5-Second Read Burst | 414.1 MB/s | Peak read speed during warm OS page cache |
| Latency p50 | 1,879.5 ms | Median retrieval time for 17.84 MB object |
| Latency p90 | 2,488.8 ms | 90th percentile retrieval time |
| Latency p95 | 2,738.2 ms | 95th percentile retrieval time |
| Latency p99 | 8,779.2 ms | 99th percentile retrieval time under heavy thread contention |
:::warning Performance Honesty: 500 MB/s Read Target Missed We explicitly targetted a sustained read throughput of 500 MB/s for this single-node benchmark. The measured average was 281.7 MB/s (peak 414.1 MB/s), falling short of our 500 MB/s target.
Root Cause Analysis:
- Thread Contention in Range Seeking: Under 32 concurrent read streams, file descriptor seek locks and simultaneous async file handle cloning on the storage mount introduced micro-contention.
- Buffer Copying: Streaming from
LocalObjectStoreinto Axum response bodies traversed an intermediate Tokio memory buffer before socket delivery.
Optimizing zero-copy socket streaming via splice/sendfile and lockless file descriptors is scheduled for the upcoming releases.
:::
Chaos Engineering & Crash Recovery
To validate the crash consistency guarantees of Lioran S3's two-phase atomic write pipeline, 5 SIGKILL hard kills were injected at precise milestone byte thresholds during active writes.
sequenceDiagram
autonumber
actor W as Write Workers (x32)
participant S as Staging Area (.staging/)
participant F as Payload Store (objects/)
participant R as RocksDB (Metadata)
participant C as Chaos Engine
W->>S: Stream payload bytes into .staging/tmp
Note over S: Continuous SHA-256 computation
C--xS: Injected Crash #1 (at 10.00 GB)
Note over S: Incomplete staging file left uncommitted
Note over R: Daemon restarts & recovers RocksDB WAL
W->>S: Retry upload -> Stream to new .staging/tmp
S->>S: fsync (sync_all) completed
S->>F: Atomic filesystem rename (promote)
F->>R: Atomically insert ObjectRecord into RocksDB
R-->>W: 200 OK Upload Successful
Crash Events Timeline
- Crash #1 (10.00 GB Ingested)
- Trigger: Ingest threshold reached 10,737,418,240 bytes.
- Impact: Daemon terminated abruptly with
SIGKILL. Active HTTP requests dropped. - Recovery: RocksDB WAL replayed in 142 ms. Staging files isolated. Daemon resumed service in < 1.2s.
- Crash #2 (27.02 GB Ingested)
- Trigger: Ingest threshold reached 29,012,852,736 bytes.
- Impact: 32 write streams interrupted mid-packet.
- Recovery: Clean restart; 0 partially written files registered in metadata.
- Crash #3 (45.01 GB Ingested)
- Trigger: Ingest threshold reached 48,328,294,400 bytes.
- Impact: Heavy compaction and flush in progress during kill.
- Recovery: RocksDB column families reconciled; zero SST corruption.
- Crash #4 (68.00 GB Ingested)
- Trigger: Ingest threshold reached 73,014,444,032 bytes.
- Impact: 4 workers completing atomic renames during kill.
- Recovery: Filesystem and metadata remained 100% synchronized.
- Crash #5 (85.00 GB Ingested)
- Trigger: Ingest threshold reached 91,268,055,040 bytes.
- Impact: Final pre-completion stress interruption.
- Recovery: All previously committed objects verified readable.
Cryptographic Data Integrity Verification
Following all 5 crashes and the completion of 100.52 GiB of ingestion, an automated cryptographic integrity verification suite was executed against the storage engine.
======================================================================
INTEGRITY AUDIT REPORT (188 SAMPLES)
======================================================================
Total Buckets Sampled: 15 / 15
Total Objects Inspected: 188
Verification Method: Full Body Streaming SHA-256 Digest
Expected SHA-256: d6617a009c0c6c9aebf7398d43cad6d...
Payload Byte Matches: 188 / 188 (100.0%)
Missing Objects: 0
Corrupt / Truncated Objects: 0
Checksum Mismatches: 0
Bit Rot Detected: 0
======================================================================
FINAL INTEGRITY STATUS: PASS (ZERO DEFECTS)
======================================================================
Memory Utilization & Stability
Lioran S3 enforces bounded streaming memory buffers across all worker threads. Payload bytes are streamed directly through fixed-size chunks (256 KiB) rather than loaded into memory.
- Initial RSS:
64.2 MB - Peak RSS Under 32 Concurrent Streams + Heavy Compaction:
924.2 MB(969,080,832 bytes) - Final Settled RSS:
231.7 MB(243,003,392 bytes) - Memory Leaks Detected: Zero heap growth after garbage collection and buffer reuse.
Raw Proof Artifacts & Verification Logs
To verify these results independently, inspect the complete set of raw log files, JSON metric lines, crash traces, and system metrics published from this benchmark run:
| Artifact Name | Description | Direct View / Download |
|---|---|---|
summary.txt | Complete human-readable benchmark summary and audit log | summary.txt |
summary.json | Machine-readable JSON summary of all aggregate metrics | summary.json |
crashes.log | Exact timestamped log of all 5 injected SIGKILL crash events | crashes.log |
errors.log | Detailed error trace of transient connection drops during chaos | errors.log |
integrity.log | SHA-256 cryptographic verification logs for all 188 object samples | integrity.log |
manifest.jsonl | JSON Lines manifest of all 6,050 ingested objects across 15 buckets | manifest.jsonl |
metrics.jsonl | High-frequency time-series telemetry recorded throughout the run | metrics.jsonl |
reads.log | Latency and throughput breakdown for all 6,050 read requests | reads.log |
recovery.log | Daemon recovery, WAL replay, and database reconciliation logs | recovery.log |
server.log | Full standard output and trace logs emitted by bastion-server | server.log |
test.log | Complete orchestrator execution log for the chaos test runner | test.log |
writes.log | Per-object write durations, latency quantiles, and status codes | writes.log |
Next Steps
- Explore the underlying Storage Engine Architecture to understand how atomic staging and RocksDB column families prevent data loss.
- Review our Production Durability Guide for tuning
strictvsbalanceddisk flush modes. - Review the What's Missing & What's Next roadmap for upcoming zero-copy optimizations.