v0.34.0_8

This commit is contained in:
Mateusz Gruszczyński committed 2026-10-18 08:26:35 +02:00
1 parent b6a3e12225
commit 480c3ec769
92 files changed
+298 -10035

No files matched your search

+4 -70
View File
@@ -1,53 +1,5 @@
# RustProxy 0.34.0
## DEV: OPT5 multi-hot-path tuning (source candidate; uncompiled)
OPT5 builds on the **compiled OPT4** (151/151 executed live HTTP checks passed;
1 optional Zstandard check skipped). The shared-host 1,040-byte HTTP/1.1
comparison shows OPT4 at about 39,054 RPS with 16 connections and 36,425 RPS
with 64; mixed results versus OPT3 mean there is no proven broad RPS gain.
OPT5 removes unnecessary ID hashing and unauthenticated original-URL
construction, avoids per-success health-detail allocation, batches bounded
traffic analytics, avoids routine status/User-Agent allocations, and fast-paths
unoffered response compression. All policies, observability, caches and
protocol support remain enabled; no version bump. **OPT5 has not been built
or measured.** See [`docs/PROXY_1KB_OPT5_DEV_0.34.0.md`](docs/PROXY_1KB_OPT5_DEV_0.34.0.md).
## DEV: OPT4 small-response proxy hot path (subsequently compiled)
The compiled OPT4 binary passed 151 real HTTP acceptance checks (1 optional
Zstandard case skipped). OPT4 removes avoidable allocations and string work
for ordinary uncached HTTP/1.1 requests, with regressions for empty request
bodies, URI/Host/Connection semantics and Unicode log truncation. Its brief
shared-host RPS comparison is mixed, so no stable improvement is claimed. No settings or functionality disabled;
version remains 0.34.0. Details:
[`docs/PROXY_1KB_OPT4_DEV_0.34.0.md`](docs/PROXY_1KB_OPT4_DEV_0.34.0.md).
## DEV: small-response proxy hot path, OPT3 source candidate
Seven compatible optimizations reduce path copies and work constructing
forwarded headers, log IPs, hop-by-hop headers, request IDs and cache-off
reason totals. HTTP/1.1 proxy with a 1,040-byte response remains the first
benchmark priority; local Web Server is secondary. No version or policy changes.
A subsequently supplied compiled OPT3 executable passed 151 real HTTP
assertions (one optional codec skipped). Two short same-host benchmark runs
did **not** establish a stable RPS gain over OPT2. See the historical
[`OPT3 source report`](docs/PROXY_1KB_OPT3_DEV_0.34.0.md)
and the newer [`OPT4 analysis`](docs/PROXY_1KB_OPT4_DEV_0.34.0.md).
## DEV: cache counter contention and saturated analytics (source candidate)
Per-domain cache outcome/reason accounting now uses bounded immutable indexes
and atomic counters rather than the HOT cache's global store mutex on every
request. The analytics producer reserves a queue slot before cloning fields;
full-queue/drop behavior and its counter remain unchanged. Per-vhost
latency histograms now update one exclusive atomic bin per completion and
reconstruct unchanged cumulative Prometheus buckets during scraping. The supplied
previous DEV binary passed 151 live HTTP assertions, but this newest code
**has not been built**. No version bump, no measured RPS claim. See
[`docs/PROXY_1KB_COUNTERS_DEV_0.34.0.md`](docs/PROXY_1KB_COUNTERS_DEV_0.34.0.md).
## 0.34.0: HOT HIT critical-section follow-up (source candidate)
Immutable response headers are shared until a HIT; the mutable per-response
@@ -57,12 +9,6 @@ shorter paths. The existing stale-for-revalidation policy makes the previous
full HOT sweep unnecessary. Exact LRU, generation barriers, BAN, COLD,
transformation/ETag, TTL and cache bypass settings remain unchanged.
This is **uncompiled source**; do not infer network RPS or production acceptance
from source checks. See
[`docs/CACHE_HOTPATH_0.34.0.md`](docs/CACHE_HOTPATH_0.34.0.md).
## 0.34.0: reverse-proxy hot-path optimization revision (source candidate)
This revision retains the **0.34.0** version and all prior scoped-cache,
`sendfile`, security, logging and vhost/administration controls. In the
uncached reverse-proxy hot path, request observation now passes the immutable
@@ -87,9 +33,7 @@ subscribers only while subscribers exist; history and external sinks remain.
These changes have **not** been compiled or timed in this environment, and
there is no claimed 0.34.0 RPS improvement. Build and run the regression and
nginx benchmark matrix before deployment. See
[`docs/PROXY_HOTPATH_0.34.0.md`](docs/PROXY_HOTPATH_0.34.0.md) for invariants,
checks and exact measurement commands.
nginx benchmark matrix before deployment.
## 0.34.0: scoped cache, proxy accounting and opt-in Linux sendfile
@@ -116,12 +60,6 @@ existing streaming path. The default is `off`; toggling this transport option
does not purge HOT/COLD cache. **Native compilation and live protocol tests
remain pending; do not deploy this candidate without them.**
An offline cache-retention simulation for a 20-vhost workload shows 92.123%
fewer invalidated objects and 92.113% fewer cache misses than the old global
purge policy **under its stated synthetic assumptions**. These are not RPS
figures; real 0.34.0 performance remains unmeasured.
See `docs/TEST_REPORT_0.34.0.md` for verification scope and remaining gates.
## 0.33.8: request-path performance and compatibility verification
@@ -150,12 +88,9 @@ to exercise the existing documented behavior, including scheme-isolated cache
keys, purge generations, private administration responses and bundled error pages.
The LB panel, database schema, default TLS/caching policies and bounded pool
recycling retain their existing behavior. Live process regression, verified TLS,
H2/H3/QUIC and WebSocket runners, repeated nginx comparisons, resource sampling,
syscall profiling and a mixed-traffic soak are included in
[`scripts/performance/`](scripts/performance/README.md). See the
[verification contract](docs/TEST_REPORT.md) and the separately generated
[performance results](docs/PERFORMANCE_0.33.8.md) for measured outcomes and limits.
recycling retain their existing behavior. Historical verification methods and
results are documented in [docs/TEST_REPORT.md](docs/TEST_REPORT.md) and
[docs/PERFORMANCE_0.33.8.md](docs/PERFORMANCE_0.33.8.md).
## 0.33.7: named dashboard presets, panel components and chart typography
@@ -780,7 +715,6 @@ Historical release information remains in [CHANGELOG.md](CHANGELOG.md) and [docs
- [docs/FILE_LOGS.md](docs/FILE_LOGS.md) - stored-log explorer, protocol-error records, bounds and filesystem security.
- [docs/PHP_FPM.md](docs/PHP_FPM.md) - implemented FastCGI/PHP-FPM integration, safety model and runtime requirements.
- [docs/TEST_REPORT.md](docs/TEST_REPORT.md) - verification results and environment limitations.
- [docs/TODO.md](docs/TODO.md) - unresolved follow-up only.
## Release history