superweb

AWS / RESOURCE STUDY

CPU and RAM under load.

A separate resource study on the four live t4g.nano hosts, using the current binaries and existing caches. 3 interleaved rounds per workload, 1-second warmups, 5-second measurements, 64 HTTP/1.1 keep-alive connections and four wrk threads on a separate c7g.xlarge in the same AZ. All 60 samples are included, with 0 reported request errors. Network burst capacity was not reset or guaranteed. These CPU/RAM figures belong to this pass, not to the earlier throughput chart. Read CPU and RAM together with achieved request rate and bandwidth: network throttling can lower CPU use. Expand each workload to see every round.

UTC: 2026-10-17T21:59:16.013214+00:00 to 2026-10-17T22:05:33.228476+00:00

All resource snapshots and load samples ↗ · Resources during the original throughput run ↗

Tiny text · HTTP

ServerMedian req/sHost CPUService CPUServer RAM used · peak PSSHost RAM used · peakTransmitConstraintErrors
Superweb37,80033.9%24.6%19.0 MiB200.7 MiB0.163 Gbit/sNetwork; Not established0
nginx97,675100.0%99.6%9.5 MiB192.9 MiB0.306 Gbit/sCPU; Network0
Caddy18,10098.7%98.3%31.9 MiB202.7 MiB0.053 Gbit/sCPU0
lighttpd18,88029.5%13.6%9.8 MiB187.8 MiB0.032 Gbit/sNetwork; Not established0
All three rounds — Tiny text · HTTP
RoundServerReq/sHost CPUService CPUServer RAM used · peak PSSHost RAM used · peakTransmitConstraintErrors
1Superweb177,77284.9%77.8%13.6 MiB200.7 MiB0.720 Gbit/sNot established0
1nginx97,675100.0%99.6%7.9 MiB192.9 MiB0.306 Gbit/sCPU0
1Caddy19,71598.5%97.9%29.6 MiB202.7 MiB0.057 Gbit/sCPU0
1lighttpd106,17693.1%92.2%7.5 MiB186.5 MiB0.299 Gbit/sNot established0
2nginx99,812100.0%99.6%8.1 MiB187.2 MiB0.313 Gbit/sCPU0
2Caddy18,09698.7%98.3%31.7 MiB192.0 MiB0.053 Gbit/sCPU0
2lighttpd14,80923.4%12.2%9.8 MiB187.8 MiB0.032 Gbit/sNetwork0
2Superweb26,97918.4%6.5%19.0 MiB191.2 MiB0.032 Gbit/sNetwork0
3nginx17,36329.6%15.0%9.5 MiB189.0 MiB0.032 Gbit/sNetwork0
3Caddy18,10099.1%98.7%31.9 MiB190.6 MiB0.053 Gbit/sCPU0
3lighttpd18,88029.5%13.6%7.6 MiB186.3 MiB0.032 Gbit/sNetwork0
3Superweb37,80033.9%24.6%19.0 MiB191.4 MiB0.163 Gbit/sNetwork0

Home page, gzip · HTTP

ServerMedian req/sHost CPUService CPUServer RAM used · peak PSSHost RAM used · peakTransmitConstraintErrors
Superweb125,42387.0%77.7%19.0 MiB192.3 MiB4.892 Gbit/sNetwork0
nginx92,831100.0%99.6%9.5 MiB189.2 MiB3.530 Gbit/sCPU; Network0
Caddy13,82298.7%98.3%31.9 MiB196.5 MiB0.533 Gbit/sCPU0
lighttpd89,121100.0%99.4%10.0 MiB202.2 MiB3.376 Gbit/sCPU; Network0
All three rounds — Home page, gzip · HTTP
RoundServerReq/sHost CPUService CPUServer RAM used · peak PSSHost RAM used · peakTransmitConstraintErrors
1nginx92,831100.0%99.6%7.9 MiB189.2 MiB3.530 Gbit/sCPU0
1Caddy14,25698.7%98.3%29.8 MiB193.3 MiB0.554 Gbit/sCPU0
1lighttpd89,792100.0%99.5%7.6 MiB196.2 MiB3.397 Gbit/sCPU0
1Superweb128,25589.1%80.0%13.9 MiB191.0 MiB5.003 Gbit/sNetwork0
2nginx94,144100.0%99.6%8.1 MiB186.8 MiB3.584 Gbit/sCPU0
2Caddy13,82298.6%98.2%31.8 MiB196.5 MiB0.533 Gbit/sCPU0
2lighttpd89,121100.0%99.4%10.0 MiB202.2 MiB3.376 Gbit/sCPU0
2Superweb125,42387.0%77.7%18.7 MiB192.3 MiB4.892 Gbit/sNetwork0
3Caddy13,70798.9%98.4%31.9 MiB192.3 MiB0.532 Gbit/sCPU0
3lighttpd8392.1%1.7%7.6 MiB186.3 MiB0.032 Gbit/sNetwork0
3Superweb8121.8%1.0%19.0 MiB191.5 MiB0.032 Gbit/sNetwork0
3nginx8313.0%2.0%9.5 MiB188.4 MiB0.032 Gbit/sNetwork0

JavaScript, identity · HTTP

ServerMedian req/sHost CPUService CPUServer RAM used · peak PSSHost RAM used · peakTransmitConstraintErrors
Superweb120.6%0.1%19.0 MiB203.7 MiB0.032 Gbit/sNetwork0
nginx3,39230.8%10.1%8.1 MiB187.4 MiB5.005 Gbit/sNetwork0
Caddy3,39158.0%41.7%31.1 MiB190.3 MiB5.006 Gbit/sNetwork0
lighttpd3,39028.1%8.8%9.8 MiB189.7 MiB5.004 Gbit/sNetwork0
All three rounds — JavaScript, identity · HTTP
RoundServerReq/sHost CPUService CPUServer RAM used · peak PSSHost RAM used · peakTransmitConstraintErrors
1Caddy3,39255.2%40.7%29.5 MiB189.3 MiB5.004 Gbit/sNetwork0
1lighttpd3,39028.1%8.8%7.6 MiB189.3 MiB5.005 Gbit/sNetwork0
1Superweb3,39331.8%11.6%14.3 MiB196.1 MiB5.004 Gbit/sNetwork0
1nginx3,39330.4%10.1%7.7 MiB187.4 MiB5.004 Gbit/sNetwork0
2Caddy3,39059.8%41.7%30.9 MiB189.8 MiB5.006 Gbit/sNetwork0
2lighttpd3,39131.8%9.3%7.5 MiB188.0 MiB5.004 Gbit/sNetwork0
2Superweb120.6%0.1%18.7 MiB203.7 MiB0.032 Gbit/sNetwork0
2nginx3,39231.0%10.3%8.1 MiB186.4 MiB5.005 Gbit/sNetwork0
3Caddy3,39158.0%41.9%31.1 MiB190.3 MiB5.006 Gbit/sNetwork0
3lighttpd150.4%0.1%9.8 MiB189.7 MiB0.032 Gbit/sNetwork0
3Superweb120.5%0.1%19.0 MiB202.3 MiB0.032 Gbit/sNetwork0
3nginx3,39230.8%10.0%8.1 MiB186.7 MiB5.005 Gbit/sNetwork0

JavaScript, gzip · HTTP

ServerMedian req/sHost CPUService CPUServer RAM used · peak PSSHost RAM used · peakTransmitConstraintErrors
Superweb590.8%0.2%19.0 MiB193.9 MiB0.032 Gbit/sNetwork0
nginx10,83730.0%18.6%8.1 MiB186.8 MiB5.003 Gbit/sNetwork0
Caddy9,42199.1%98.6%31.8 MiB200.0 MiB4.360 Gbit/sCPU0
lighttpd10,87530.5%19.3%7.6 MiB187.8 MiB5.004 Gbit/sNetwork0
All three rounds — JavaScript, gzip · HTTP
RoundServerReq/sHost CPUService CPUServer RAM used · peak PSSHost RAM used · peakTransmitConstraintErrors
1lighttpd10,87630.5%19.3%7.6 MiB187.8 MiB5.004 Gbit/sNetwork0
1Superweb10,82140.9%16.0%14.5 MiB192.6 MiB5.004 Gbit/sNetwork0
1nginx10,83830.0%18.6%7.7 MiB185.4 MiB5.003 Gbit/sNetwork0
1Caddy9,15699.1%98.7%29.5 MiB188.8 MiB4.257 Gbit/sCPU0
2lighttpd10,87533.3%19.3%7.5 MiB185.7 MiB5.006 Gbit/sNetwork0
2Superweb590.5%0.2%18.7 MiB193.8 MiB0.032 Gbit/sNetwork0
2nginx10,83730.6%18.7%8.1 MiB186.7 MiB5.004 Gbit/sNetwork0
2Caddy9,44099.3%96.0%31.5 MiB200.0 MiB4.363 Gbit/sCPU0
3lighttpd610.8%0.3%7.6 MiB187.0 MiB0.032 Gbit/sNetwork0
3Superweb580.8%0.2%19.0 MiB193.9 MiB0.032 Gbit/sNetwork0
3nginx610.8%0.4%8.1 MiB186.8 MiB0.032 Gbit/sNetwork0
3Caddy9,42199.1%98.6%31.8 MiB198.4 MiB4.360 Gbit/sCPU0

JavaScript, gzip · HTTPS

ServerMedian req/sHost CPUService CPUServer RAM used · peak PSSHost RAM used · peakTransmitConstraintErrors
Superweb611.4%0.8%19.0 MiB199.1 MiB0.032 Gbit/sNetwork0
nginx10,78188.7%85.5%9.5 MiB192.8 MiB5.002 Gbit/sNetwork0
Caddy7,32999.3%98.8%32.9 MiB199.8 MiB3.419 Gbit/sCPU0
lighttpd6,15774.2%73.8%10.0 MiB201.5 MiB3.504 Gbit/sCPU + Network; Network0
All three rounds — JavaScript, gzip · HTTPS
RoundServerReq/sHost CPUService CPUServer RAM used · peak PSSHost RAM used · peakTransmitConstraintErrors
1Superweb10,75269.4%62.0%18.7 MiB199.1 MiB5.005 Gbit/sNetwork0
1nginx10,78190.4%87.3%8.0 MiB187.2 MiB5.003 Gbit/sNetwork0
1Caddy7,32999.3%98.8%32.1 MiB197.9 MiB3.419 Gbit/sCPU0
1lighttpd10,700100.0%98.3%10.0 MiB192.7 MiB4.944 Gbit/sCPU + Network0
2Superweb610.8%0.5%19.0 MiB195.1 MiB0.032 Gbit/sNetwork0
2nginx10,78788.7%85.5%8.1 MiB192.8 MiB5.002 Gbit/sNetwork0
2Caddy7,47199.3%98.7%32.6 MiB194.4 MiB3.480 Gbit/sCPU0
2lighttpd6,15774.2%73.8%9.8 MiB201.5 MiB3.504 Gbit/sNetwork0
3Superweb601.4%0.8%19.0 MiB193.4 MiB0.032 Gbit/sNetwork0
3nginx611.1%0.7%9.5 MiB189.5 MiB0.032 Gbit/sNetwork0
3Caddy7,22099.5%98.9%32.9 MiB199.8 MiB3.355 Gbit/sCPU0
3lighttpd601.4%0.7%9.9 MiB192.1 MiB0.032 Gbit/sNetwork0

How to read the measurements

Resource intervals must fit entirely inside the timed load test; warmup and partial boundary intervals are excluded. CPU and transmit rates are duration-weighted within each run, then reported as the median across rounds. 100% host or service CPU means both vCPUs are occupied. Service CPU covers its cgroup; host CPU also includes kernel/network work and monitoring. Server RAM used is the sampled peak of summed process PSS (resident memory with shared pages apportioned), including every worker; it excludes swapped-out pages and unmapped filesystem cache. Host RAM used is the sampled peak of MemTotal minus MemAvailable, including the OS and other processes, and excluding memory Linux estimates is available for reuse. MemTotal is usable Linux RAM, not advertised instance capacity. RSS, swap PSS, available host RAM and cgroup memory including charged filesystem cache are also retained in the raw data. The sampler can miss subsecond peaks. No server restarts or cache drops were performed; live services carry their existing cache and allocation history.

Constraint labels are inferences: CPU when run-average host CPU is at least 95%; network when transmit reaches 4.75 Gbit/s or bandwidth-allowance counters increase with CPU below 80%; both when both conditions hold. Memory pressure is flagged by new cgroup high/max/OOM events. Otherwise the constraint is not established. Multiple labels mean the inferred constraint differed between rounds. An ENA exceedance counts queued/dropped packets, not HTTP errors. Lack of a memory-pressure event does not prove RAM could never become a limit.

Sampling interval: 1 second. Each snapshot reads /proc/stat, /proc/meminfo, ENA counters, the service cgroup CPU/memory counters, and smaps_rollup for every worker process. The sampler runs outside the service cgroup. This is a short resource study of five repeated files, not a maximum-cache or memory-capacity test. No memory exhaustion is deliberately induced.

Server versions: Superweb 2026.10 preview, nginx 1.24.0, Caddy 2.6.2, lighttpd 1.4.74. Competitor versions are Ubuntu 24.04 packages, not latest upstream.

Superweb executable SHA-256: 8f30ea377d566560dfda9f8533ef65600b2485f50817f0af299302aa023f319d. SiteVue commit: 2ac4fda96182660d819e91830e33029467c80fd5.

For each run, the raw data retains CPU averages, observed duration, sampled memory peaks, bandwidth allowance counters and errors. PSS includes shared pages proportionally; summing RSS can count shared pages multiple times. Cgroup memory includes charged page cache and kernel memory and must not be substituted for process PSS.

Linux process memory definitions ↗ · Cgroup accounting ↗ · AWS allowance counters ↗

Repeat the resource study

Create the temporary client described in deploy/aws/README.md, then run the commands below. Retrieve the samples before deleting only the temporary client stack.

uv run --with boto3 python deploy/aws/resource_run.py build/aws/benchmark-config.json
python3 deploy/aws/resource_report.py build/aws/resource-pass