diff --git a/frameworks/true-async-server/Dockerfile b/frameworks/true-async-server/Dockerfile index ce2e46e08..00cce7169 100644 --- a/frameworks/true-async-server/Dockerfile +++ b/frameworks/true-async-server/Dockerfile @@ -1,4 +1,4 @@ -FROM trueasync/php-true-async:0.7.0-beta.5-php8.6 +FROM trueasync/php-true-async:0.7.0-rc.3-php8.6 RUN printf '%s\n' \ 'opcache.jit=1255' \ @@ -13,6 +13,6 @@ RUN printf '%s\n' \ WORKDIR /app COPY entry.php PostgreSQL.php SQLite.php /app/ -EXPOSE 8080 8443 +EXPOSE 8080 8443 8443/udp CMD ["php", "/app/entry.php"] diff --git a/frameworks/true-async-server/entry.php b/frameworks/true-async-server/entry.php index fd0da085f..e20e03018 100644 --- a/frameworks/true-async-server/entry.php +++ b/frameworks/true-async-server/entry.php @@ -37,6 +37,8 @@ $port = (int)(getenv('PORT') ?: 8080); $tlsPort = (int)(getenv('TLS_PORT') ?: 8443); $h2cPort = (int)(getenv('H2C_PORT') ?: 8082); +$h3Port = (int)(getenv('H3_PORT') ?: $tlsPort); +$h3Enabled = getenv('H3_DISABLE') !== '1'; $workers = (int)(getenv('WORKERS') ?: 0); if ($workers <= 0) { $workers = available_parallelism(); @@ -81,12 +83,20 @@ ->addListener('0.0.0.0', $tlsPort, true) ->addListener('0.0.0.0', 8081, true) ->setCertificate($certPath) - ->setPrivateKey($keyPath); - - // No HTTP/3 listener: meta.json subscribes to no h3 profile, so the - // QUIC UDP listener would be pure liability — an extra bind that races - // with the previous container's teardown on back-to-back profile runs - // and makes the server fail to come up ("did not come up" on limited-conn). + ->setPrivateKey($keyPath) + // Pin the TLS clear-text-out BIO ring to 64 KiB (#29). This already + // matches the built-in default, set explicitly so the arena's TLS + // write-buffer size stays fixed regardless of future default changes. + ->setTlsBufferBytes(64 * 1024); + + // HTTP/3 over QUIC on the same UDP port — powers baseline-h3 / static-h3. + // Reuses the TLS cert/key and coexists with h2 on TCP :8443. A 120-iteration + // back-to-back restart repro (16 and 64 workers) showed 0 startup failures + // with this listener on — the C listener sets SO_REUSEADDR/SO_REUSEPORT — so + // it stays always-on. Set H3_DISABLE=1 to skip on builds without H3. + if ($h3Enabled) { + $config->addHttp3Listener('0.0.0.0', $h3Port); + } } // Bootloader needs the class files visible in the parent too, otherwise diff --git a/frameworks/true-async-server/meta.json b/frameworks/true-async-server/meta.json index e9682411b..02b91a67e 100644 --- a/frameworks/true-async-server/meta.json +++ b/frameworks/true-async-server/meta.json @@ -22,6 +22,8 @@ "baseline-h2", "baseline-h2c", "json-h2c", + "baseline-h3", + "static-h3", "async-db", "fortunes" ] diff --git a/site/data/api-16-1024.json b/site/data/api-16-1024.json index 799e7b324..2b7631c7d 100644 --- a/site/data/api-16-1024.json +++ b/site/data/api-16-1024.json @@ -1166,28 +1166,28 @@ { "framework": "true-async-server", "language": "PHP", - "rps": 152800, - "avg_latency": "5.70ms", - "p99_latency": "99.80ms", - "cpu": "1574.7%", - "memory": "77MiB", + "rps": 143872, + "avg_latency": "5.98ms", + "p99_latency": "85.40ms", + "cpu": "1564.8%", + "memory": "79MiB", "connections": 1024, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "762.37MB/s", - "input_bw": "8.60MB/s", - "reconnects": 458523, - "status_2xx": 2292002, + "bandwidth": "727.40MB/s", + "input_bw": "8.10MB/s", + "reconnects": 431707, + "status_2xx": 2158094, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0, - "tpl_baseline": 860025, - "tpl_json": 859000, + "tpl_baseline": 809390, + "tpl_json": 809302, "tpl_db": 0, "tpl_upload": 0, "tpl_static": 0, - "tpl_async_db": 572974 + "tpl_async_db": 539398 }, { "framework": "uvicorn", diff --git a/site/data/api-4-256.json b/site/data/api-4-256.json index bfc3d01b6..ae3c5c5b3 100644 --- a/site/data/api-4-256.json +++ b/site/data/api-4-256.json @@ -1166,28 +1166,28 @@ { "framework": "true-async-server", "language": "PHP", - "rps": 56308, - "avg_latency": "3.62ms", - "p99_latency": "41.20ms", - "cpu": "394.0%", - "memory": "42MiB", + "rps": 51257, + "avg_latency": "3.91ms", + "p99_latency": "45.30ms", + "cpu": "394.7%", + "memory": "43MiB", "connections": 256, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "280.94MB/s", - "input_bw": "3.17MB/s", - "reconnects": 168949, - "status_2xx": 844621, + "bandwidth": "259.11MB/s", + "input_bw": "2.88MB/s", + "reconnects": 153800, + "status_2xx": 768859, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0, - "tpl_baseline": 316921, - "tpl_json": 316708, + "tpl_baseline": 288429, + "tpl_json": 288315, "tpl_db": 0, "tpl_upload": 0, "tpl_static": 0, - "tpl_async_db": 210990 + "tpl_async_db": 192115 }, { "framework": "uvicorn", diff --git a/site/data/async-db-1024.json b/site/data/async-db-1024.json index 2201615a2..d90b69fcc 100644 --- a/site/data/async-db-1024.json +++ b/site/data/async-db-1024.json @@ -936,19 +936,19 @@ { "framework": "true-async-server", "language": "PHP", - "rps": 249894, - "avg_latency": "3.56ms", - "p99_latency": "12.50ms", - "cpu": "4917.3%", - "memory": "248MiB", + "rps": 249931, + "avg_latency": "3.54ms", + "p99_latency": "18.00ms", + "cpu": "4968.6%", + "memory": "230MiB", "connections": 1024, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "943.85MB/s", + "bandwidth": "960.73MB/s", "input_bw": "16.68MB/s", - "reconnects": 99973, - "status_2xx": 2498944, + "reconnects": 99610, + "status_2xx": 2499314, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/baseline-4096.json b/site/data/baseline-4096.json index a11e3b735..0fa9c82ee 100644 --- a/site/data/baseline-4096.json +++ b/site/data/baseline-4096.json @@ -1328,19 +1328,19 @@ { "framework": "true-async-server", "language": "PHP", - "rps": 2260254, - "avg_latency": "1.81ms", - "p99_latency": "2.53ms", - "cpu": "5871.2%", - "memory": "220MiB", + "rps": 1553382, + "avg_latency": "2.63ms", + "p99_latency": "5.38ms", + "cpu": "6195.6%", + "memory": "207MiB", "connections": 4096, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "142.23MB/s", - "input_bw": "174.60MB/s", + "bandwidth": "198.46MB/s", + "input_bw": "120.00MB/s", "reconnects": 0, - "status_2xx": 11301272, + "status_2xx": 7766912, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/baseline-512.json b/site/data/baseline-512.json index e99189977..7c664d7d9 100644 --- a/site/data/baseline-512.json +++ b/site/data/baseline-512.json @@ -1328,19 +1328,19 @@ { "framework": "true-async-server", "language": "PHP", - "rps": 2154955, - "avg_latency": "237us", - "p99_latency": "571us", - "cpu": "6712.0%", - "memory": "182MiB", + "rps": 1458274, + "avg_latency": "350us", + "p99_latency": "1.05ms", + "cpu": "6266.6%", + "memory": "184MiB", "connections": 512, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "135.61MB/s", - "input_bw": "166.47MB/s", + "bandwidth": "186.31MB/s", + "input_bw": "112.65MB/s", "reconnects": 0, - "status_2xx": 10774775, + "status_2xx": 7291374, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/baseline-h2-1024.json b/site/data/baseline-h2-1024.json index 29783646e..504636711 100644 --- a/site/data/baseline-h2-1024.json +++ b/site/data/baseline-h2-1024.json @@ -509,18 +509,18 @@ { "framework": "true-async-server", "language": "PHP", - "rps": 3288741, - "avg_latency": "27.37ms", - "p99_latency": "27.37ms", - "cpu": "7207.5%", - "memory": "505MiB", + "rps": 3733476, + "avg_latency": "24.66ms", + "p99_latency": "24.66ms", + "cpu": "6324.9%", + "memory": "539MiB", "connections": 1024, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "66.54MB/s", + "bandwidth": "79.29MB/s", "reconnects": 0, - "status_2xx": 16608143, + "status_2xx": 18891391, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/baseline-h2-256.json b/site/data/baseline-h2-256.json index bc56b36dd..69110c049 100644 --- a/site/data/baseline-h2-256.json +++ b/site/data/baseline-h2-256.json @@ -509,18 +509,18 @@ { "framework": "true-async-server", "language": "PHP", - "rps": 4969431, - "avg_latency": "5.40ms", - "p99_latency": "5.40ms", - "cpu": "7904.6%", - "memory": "225MiB", + "rps": 4735569, + "avg_latency": "5.80ms", + "p99_latency": "5.80ms", + "cpu": "6052.0%", + "memory": "235MiB", "connections": 256, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "100.12MB/s", + "bandwidth": "99.76MB/s", "reconnects": 0, - "status_2xx": 24996239, + "status_2xx": 23772558, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/baseline-h2c-1024.json b/site/data/baseline-h2c-1024.json index 94f4d9646..44791d682 100644 --- a/site/data/baseline-h2c-1024.json +++ b/site/data/baseline-h2c-1024.json @@ -97,18 +97,18 @@ { "framework": "true-async-server", "language": "PHP", - "rps": 3991541, - "avg_latency": "23.14ms", - "p99_latency": "23.14ms", - "cpu": "7607.8%", - "memory": "528MiB", + "rps": 4506134, + "avg_latency": "22.05ms", + "p99_latency": "22.05ms", + "cpu": "6331.3%", + "memory": "516MiB", "connections": 1024, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "81.07MB/s", + "bandwidth": "95.89MB/s", "reconnects": 0, - "status_2xx": 20237114, + "status_2xx": 22846100, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/baseline-h2c-256.json b/site/data/baseline-h2c-256.json index f13cb8dbc..94b8bfaeb 100644 --- a/site/data/baseline-h2c-256.json +++ b/site/data/baseline-h2c-256.json @@ -97,18 +97,18 @@ { "framework": "true-async-server", "language": "PHP", - "rps": 6038026, - "avg_latency": "4.37ms", - "p99_latency": "4.37ms", - "cpu": "7082.3%", - "memory": "244MiB", + "rps": 5818880, + "avg_latency": "4.91ms", + "p99_latency": "4.91ms", + "cpu": "6212.8%", + "memory": "255MiB", "connections": 256, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "121.65MB/s", + "bandwidth": "122.58MB/s", "reconnects": 0, - "status_2xx": 30371272, + "status_2xx": 29210778, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/baseline-h2c-4096.json b/site/data/baseline-h2c-4096.json index fc3b7a262..213218b9a 100644 --- a/site/data/baseline-h2c-4096.json +++ b/site/data/baseline-h2c-4096.json @@ -97,18 +97,18 @@ { "framework": "true-async-server", "language": "PHP", - "rps": 3753829, - "avg_latency": "100.43ms", - "p99_latency": "100.43ms", - "cpu": "7497.4%", + "rps": 3796119, + "avg_latency": "108.93ms", + "p99_latency": "108.93ms", + "cpu": "5956.0%", "memory": "1.5GiB", "connections": 4096, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "76.44MB/s", + "bandwidth": "81.16MB/s", "reconnects": 0, - "status_2xx": 19069452, + "status_2xx": 19322248, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/baseline-h3-64.json b/site/data/baseline-h3-64.json index 44c99fd1f..5e5c5519e 100644 --- a/site/data/baseline-h3-64.json +++ b/site/data/baseline-h3-64.json @@ -268,5 +268,24 @@ "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 + }, + { + "framework": "true-async-server", + "language": "PHP", + "rps": 1277, + "avg_latency": "3.77ms", + "p99_latency": "7.22ms", + "cpu": "12.7%", + "memory": "175MiB", + "connections": 64, + "threads": 64, + "duration": "5s", + "pipeline": 1, + "bandwidth": "11.51KB/s", + "reconnects": 0, + "status_2xx": 6400, + "status_3xx": 0, + "status_4xx": 0, + "status_5xx": 0 } ] \ No newline at end of file diff --git a/site/data/fortunes-1024.json b/site/data/fortunes-1024.json index 4d6f81dd3..9396ba50b 100644 --- a/site/data/fortunes-1024.json +++ b/site/data/fortunes-1024.json @@ -59,18 +59,18 @@ { "framework": "true-async-server", "language": "PHP", - "rps": 88584, - "avg_latency": "7.68ms", - "p99_latency": "28.80ms", - "cpu": "6331.0%", - "memory": "224MiB", + "rps": 89610, + "avg_latency": "6.94ms", + "p99_latency": "7.99ms", + "cpu": "6398.4%", + "memory": "228MiB", "connections": 1024, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "2.05GB/s", + "bandwidth": "2.08GB/s", "reconnects": 0, - "status_2xx": 442920, + "status_2xx": 448054, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/json-4096.json b/site/data/json-4096.json index c469d9d9d..7762b621f 100644 --- a/site/data/json-4096.json +++ b/site/data/json-4096.json @@ -1056,19 +1056,19 @@ { "framework": "true-async-server", "language": "PHP", - "rps": 983908, - "avg_latency": "3.80ms", - "p99_latency": "9.61ms", - "cpu": "6485.4%", + "rps": 852995, + "avg_latency": "4.46ms", + "p99_latency": "10.60ms", + "cpu": "6506.0%", "memory": "264MiB", "connections": 4096, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "3.29GB/s", - "input_bw": "46.92MB/s", - "reconnects": 195195, - "status_2xx": 4919544, + "bandwidth": "2.91GB/s", + "input_bw": "40.67MB/s", + "reconnects": 169338, + "status_2xx": 4264979, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/json-comp-16384.json b/site/data/json-comp-16384.json index 52431c330..1da3a52cf 100644 --- a/site/data/json-comp-16384.json +++ b/site/data/json-comp-16384.json @@ -902,19 +902,19 @@ { "framework": "true-async-server", "language": "PHP", - "rps": 440487, - "avg_latency": "36.93ms", - "p99_latency": "66.30ms", - "cpu": "6499.7%", - "memory": "487MiB", + "rps": 419290, + "avg_latency": "38.65ms", + "p99_latency": "56.70ms", + "cpu": "6258.1%", + "memory": "513MiB", "connections": 16384, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "680.78MB/s", - "input_bw": "32.77MB/s", - "reconnects": 80595, - "status_2xx": 2202439, + "bandwidth": "675.23MB/s", + "input_bw": "31.19MB/s", + "reconnects": 76845, + "status_2xx": 2096454, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/json-comp-4096.json b/site/data/json-comp-4096.json index 7d8c93277..e142d3136 100644 --- a/site/data/json-comp-4096.json +++ b/site/data/json-comp-4096.json @@ -902,19 +902,19 @@ { "framework": "true-async-server", "language": "PHP", - "rps": 458109, - "avg_latency": "8.95ms", + "rps": 433198, + "avg_latency": "9.45ms", "p99_latency": "20.20ms", - "cpu": "6227.8%", + "cpu": "6202.1%", "memory": "254MiB", "connections": 4096, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "708.10MB/s", - "input_bw": "34.08MB/s", - "reconnects": 89770, - "status_2xx": 2290546, + "bandwidth": "697.56MB/s", + "input_bw": "32.22MB/s", + "reconnects": 84784, + "status_2xx": 2165992, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/json-comp-512.json b/site/data/json-comp-512.json index c1dcb70c7..f9c8784da 100644 --- a/site/data/json-comp-512.json +++ b/site/data/json-comp-512.json @@ -902,19 +902,19 @@ { "framework": "true-async-server", "language": "PHP", - "rps": 445036, - "avg_latency": "1.14ms", - "p99_latency": "5.28ms", - "cpu": "5914.4%", - "memory": "175MiB", + "rps": 412281, + "avg_latency": "1.23ms", + "p99_latency": "5.43ms", + "cpu": "5772.2%", + "memory": "176MiB", "connections": 512, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "687.81MB/s", - "input_bw": "33.10MB/s", - "reconnects": 89013, - "status_2xx": 2225181, + "bandwidth": "663.90MB/s", + "input_bw": "30.67MB/s", + "reconnects": 82447, + "status_2xx": 2061408, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/json-h2c-1024.json b/site/data/json-h2c-1024.json index 2cfcbb68a..7f973e50c 100644 --- a/site/data/json-h2c-1024.json +++ b/site/data/json-h2c-1024.json @@ -97,18 +97,18 @@ { "framework": "true-async-server", "language": "PHP", - "rps": 1232194, - "avg_latency": "25.75ms", - "p99_latency": "25.75ms", - "cpu": "7366.1%", - "memory": "319MiB", + "rps": 1462827, + "avg_latency": "22.01ms", + "p99_latency": "22.01ms", + "cpu": "6362.0%", + "memory": "303MiB", "connections": 1024, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "4.10GB/s", + "bandwidth": "4.87GB/s", "reconnects": 0, - "status_2xx": 6222580, + "status_2xx": 7387277, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/json-h2c-4096.json b/site/data/json-h2c-4096.json index c9d561b49..da2552cd8 100644 --- a/site/data/json-h2c-4096.json +++ b/site/data/json-h2c-4096.json @@ -97,18 +97,18 @@ { "framework": "true-async-server", "language": "PHP", - "rps": 1217112, - "avg_latency": "102.11ms", - "p99_latency": "102.11ms", - "cpu": "7258.8%", - "memory": "781MiB", + "rps": 1399930, + "avg_latency": "88.66ms", + "p99_latency": "88.66ms", + "cpu": "6530.9%", + "memory": "833MiB", "connections": 4096, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "4.09GB/s", + "bandwidth": "4.70GB/s", "reconnects": 0, - "status_2xx": 6207276, + "status_2xx": 7139643, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/json-tls-4096.json b/site/data/json-tls-4096.json index 859e7ad7e..7ffa83a16 100644 --- a/site/data/json-tls-4096.json +++ b/site/data/json-tls-4096.json @@ -595,18 +595,18 @@ { "framework": "true-async-server", "language": "PHP", - "rps": 782380, - "avg_latency": "5.35ms", - "p99_latency": "5.35ms", - "cpu": "6236.9%", - "memory": "627MiB", + "rps": 729530, + "avg_latency": "5.65ms", + "p99_latency": "5.65ms", + "cpu": "6552.2%", + "memory": "625MiB", "connections": 4096, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "2.62GB", + "bandwidth": "2.49GB", "reconnects": 0, - "status_2xx": 3990867, + "status_2xx": 3721127, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/limited-conn-4096.json b/site/data/limited-conn-4096.json index 4e28923b3..beaf9c7ff 100644 --- a/site/data/limited-conn-4096.json +++ b/site/data/limited-conn-4096.json @@ -1328,19 +1328,19 @@ { "framework": "true-async-server", "language": "PHP", - "rps": 1798930, - "avg_latency": "2.26ms", - "p99_latency": "33.70ms", - "cpu": "6213.4%", - "memory": "165MiB", + "rps": 1279875, + "avg_latency": "3.18ms", + "p99_latency": "48.40ms", + "cpu": "6391.0%", + "memory": "194MiB", "connections": 4096, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "113.20MB/s", - "input_bw": "138.96MB/s", - "reconnects": 899424, - "status_2xx": 8994651, + "bandwidth": "163.52MB/s", + "input_bw": "98.87MB/s", + "reconnects": 639725, + "status_2xx": 6399375, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/limited-conn-512.json b/site/data/limited-conn-512.json index bdca215bf..645fe5724 100644 --- a/site/data/limited-conn-512.json +++ b/site/data/limited-conn-512.json @@ -1328,19 +1328,19 @@ { "framework": "true-async-server", "language": "PHP", - "rps": 1610019, - "avg_latency": "306us", - "p99_latency": "1.50ms", - "cpu": "6107.4%", + "rps": 1240698, + "avg_latency": "400us", + "p99_latency": "2.35ms", + "cpu": "6063.7%", "memory": "157MiB", "connections": 512, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "101.31MB/s", - "input_bw": "124.37MB/s", - "reconnects": 805003, - "status_2xx": 8050095, + "bandwidth": "158.51MB/s", + "input_bw": "95.84MB/s", + "reconnects": 620358, + "status_2xx": 6203490, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/pipelined-4096.json b/site/data/pipelined-4096.json index d6e3aa2a2..b845673f1 100644 --- a/site/data/pipelined-4096.json +++ b/site/data/pipelined-4096.json @@ -1258,18 +1258,18 @@ { "framework": "true-async-server", "language": "PHP", - "rps": 2295056, - "avg_latency": "28.56ms", - "p99_latency": "48.20ms", - "cpu": "5949.5%", - "memory": "245MiB", + "rps": 1381928, + "avg_latency": "47.35ms", + "p99_latency": "73.00ms", + "cpu": "6471.3%", + "memory": "220MiB", "connections": 4096, "threads": 64, "duration": "5s", "pipeline": 16, - "bandwidth": "144.42MB/s", + "bandwidth": "176.56MB/s", "reconnects": 0, - "status_2xx": 11475283, + "status_2xx": 6909644, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/pipelined-512.json b/site/data/pipelined-512.json index fc5b88bd9..8ef67215e 100644 --- a/site/data/pipelined-512.json +++ b/site/data/pipelined-512.json @@ -1258,18 +1258,18 @@ { "framework": "true-async-server", "language": "PHP", - "rps": 8993883, - "avg_latency": "910us", - "p99_latency": "2.02ms", - "cpu": "6514.3%", - "memory": "150MiB", + "rps": 2266164, + "avg_latency": "3.61ms", + "p99_latency": "9.64ms", + "cpu": "6249.9%", + "memory": "146MiB", "connections": 512, "threads": 64, "duration": "5s", "pipeline": 16, - "bandwidth": "565.95MB/s", + "bandwidth": "289.53MB/s", "reconnects": 0, - "status_2xx": 44969418, + "status_2xx": 11330820, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/static-1024.json b/site/data/static-1024.json index aa40db21c..41aec3bbb 100644 --- a/site/data/static-1024.json +++ b/site/data/static-1024.json @@ -1081,18 +1081,18 @@ { "framework": "true-async-server", "language": "PHP", - "rps": 610098, - "avg_latency": "8.50ms", - "p99_latency": "8.50ms", - "cpu": "3161.7%", - "memory": "175MiB", + "rps": 483238, + "avg_latency": "10.94ms", + "p99_latency": "10.94ms", + "cpu": "2711.4%", + "memory": "179MiB", "connections": 1024, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "9.34GB", + "bandwidth": "7.43GB", "reconnects": 0, - "status_2xx": 3111339, + "status_2xx": 2464409, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/static-4096.json b/site/data/static-4096.json index e7418b136..8ec2d5b5e 100644 --- a/site/data/static-4096.json +++ b/site/data/static-4096.json @@ -1081,18 +1081,18 @@ { "framework": "true-async-server", "language": "PHP", - "rps": 624750, - "avg_latency": "35.36ms", - "p99_latency": "35.36ms", - "cpu": "3262.3%", - "memory": "252MiB", + "rps": 505423, + "avg_latency": "43.92ms", + "p99_latency": "43.92ms", + "cpu": "2727.7%", + "memory": "254MiB", "connections": 4096, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "9.54GB", + "bandwidth": "7.74GB", "reconnects": 0, - "status_2xx": 3186165, + "status_2xx": 2577958, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/static-6800.json b/site/data/static-6800.json index 6dbdc2538..a02383862 100644 --- a/site/data/static-6800.json +++ b/site/data/static-6800.json @@ -1081,18 +1081,18 @@ { "framework": "true-async-server", "language": "PHP", - "rps": 610348, - "avg_latency": "59.62ms", - "p99_latency": "59.62ms", - "cpu": "3199.6%", - "memory": "306MiB", + "rps": 460969, + "avg_latency": "79.87ms", + "p99_latency": "79.87ms", + "cpu": "2356.7%", + "memory": "318MiB", "connections": 6800, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "9.29GB", + "bandwidth": "7.03GB", "reconnects": 0, - "status_2xx": 3113445, + "status_2xx": 2350708, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/static-h2-1024.json b/site/data/static-h2-1024.json index cfcf6f30a..afaf63767 100644 --- a/site/data/static-h2-1024.json +++ b/site/data/static-h2-1024.json @@ -509,18 +509,18 @@ { "framework": "true-async-server", "language": "PHP", - "rps": 830382, - "avg_latency": "37.40ms", - "p99_latency": "37.40ms", - "cpu": "6562.3%", - "memory": "2.3GiB", + "rps": 819679, + "avg_latency": "37.48ms", + "p99_latency": "37.48ms", + "cpu": "6161.6%", + "memory": "1.6GiB", "connections": 1024, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "12.78GB/s", + "bandwidth": "12.64GB/s", "reconnects": 0, - "status_2xx": 4201735, + "status_2xx": 4155775, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/static-h2-256.json b/site/data/static-h2-256.json index d96633b54..744138ea4 100644 --- a/site/data/static-h2-256.json +++ b/site/data/static-h2-256.json @@ -509,18 +509,18 @@ { "framework": "true-async-server", "language": "PHP", - "rps": 1035118, - "avg_latency": "8.26ms", - "p99_latency": "8.26ms", - "cpu": "6423.3%", - "memory": "559MiB", + "rps": 1042741, + "avg_latency": "8.12ms", + "p99_latency": "8.12ms", + "cpu": "6491.8%", + "memory": "562MiB", "connections": 256, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "15.88GB/s", + "bandwidth": "15.94GB/s", "reconnects": 0, - "status_2xx": 5227347, + "status_2xx": 5244990, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/static-h3-64.json b/site/data/static-h3-64.json index 192e69219..cb6ee1d51 100644 --- a/site/data/static-h3-64.json +++ b/site/data/static-h3-64.json @@ -268,5 +268,24 @@ "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 + }, + { + "framework": "true-async-server", + "language": "PHP", + "rps": 1274, + "avg_latency": "36.02ms", + "p99_latency": "76.11ms", + "cpu": "45.5%", + "memory": "275MiB", + "connections": 64, + "threads": 64, + "duration": "5s", + "pipeline": 1, + "bandwidth": "19.90MB/s", + "reconnects": 0, + "status_2xx": 6400, + "status_3xx": 0, + "status_4xx": 0, + "status_5xx": 0 } ] \ No newline at end of file diff --git a/site/data/upload-256.json b/site/data/upload-256.json index 41f086a34..e2e953548 100644 --- a/site/data/upload-256.json +++ b/site/data/upload-256.json @@ -1001,19 +1001,19 @@ { "framework": "true-async-server", "language": "PHP", - "rps": 3022, - "avg_latency": "80.13ms", - "p99_latency": "336.60ms", - "cpu": "3622.3%", - "memory": "520MiB", + "rps": 3072, + "avg_latency": "78.41ms", + "p99_latency": "364.90ms", + "cpu": "3535.0%", + "memory": "551MiB", "connections": 256, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "210.33KB/s", - "input_bw": "23.97GB/s", - "reconnects": 2998, - "status_2xx": 15173, + "bandwidth": "417.62KB/s", + "input_bw": "24.37GB/s", + "reconnects": 3045, + "status_2xx": 15425, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/upload-32.json b/site/data/upload-32.json index 6ec40adbe..3838baff4 100644 --- a/site/data/upload-32.json +++ b/site/data/upload-32.json @@ -1001,19 +1001,19 @@ { "framework": "true-async-server", "language": "PHP", - "rps": 2583, - "avg_latency": "12.36ms", - "p99_latency": "57.20ms", - "cpu": "1855.3%", - "memory": "302MiB", + "rps": 2546, + "avg_latency": "12.54ms", + "p99_latency": "54.50ms", + "cpu": "1901.8%", + "memory": "313MiB", "connections": 32, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "179.65KB/s", - "input_bw": "20.49GB/s", - "reconnects": 2581, - "status_2xx": 12916, + "bandwidth": "346.17KB/s", + "input_bw": "20.19GB/s", + "reconnects": 2545, + "status_2xx": 12733, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/static/logs/baseline-h3/64/true-async-server.log b/site/static/logs/baseline-h3/64/true-async-server.log new file mode 100644 index 000000000..45901891a --- /dev/null +++ b/site/static/logs/baseline-h3/64/true-async-server.log @@ -0,0 +1 @@ +[true-async-server] 64 workers · :8080 · tls :8443 · pid 1 diff --git a/site/static/logs/fortunes/1024/true-async-server.log b/site/static/logs/fortunes/1024/true-async-server.log index 45901891a..cb0598c6f 100644 --- a/site/static/logs/fortunes/1024/true-async-server.log +++ b/site/static/logs/fortunes/1024/true-async-server.log @@ -1 +1,2 @@ [true-async-server] 64 workers · :8080 · tls :8443 · pid 1 +[true-async-server] worker thread exited cleanly diff --git a/site/static/logs/static-h3/64/true-async-server.log b/site/static/logs/static-h3/64/true-async-server.log new file mode 100644 index 000000000..45901891a --- /dev/null +++ b/site/static/logs/static-h3/64/true-async-server.log @@ -0,0 +1 @@ +[true-async-server] 64 workers · :8080 · tls :8443 · pid 1