ywkaras edited a comment on pull request #7674: URL: https://github.com/apache/trafficserver/pull/7674#issuecomment-813721843
Performance Testing Test server: Intel Xeon CPU ES-2683 v4 @ 2.10GHz, 64 logical CPU cores. Baseline build, master commit a5a85234b7c13b938f3dae70f1e641bbc598e0bf records.config: ``` CONFIG proxy.config.url_remap.remap_required INT 0 CONFIG proxy.config.http.cache.required_headers INT 0 CONFIG proxy.config.http.push_method_enabled INT 1 CONFIG proxy.config.http.server_ports STRING 8080 8081 CONFIG proxy.config.diags.debug.enabled INT 0 CONFIG proxy.config.diags.debug.tags STRING does_not_match_anything ``` remap.config: ``` map http://localhost:8081 http://fakehost ``` Command to start TS: `TS_ROOT=$PWD LD_LIBRARY_PATH=$PWD/lib bin/traffic_server &` I ran this script to create the object /fake in the cache: ``` # Create an object in TS cache by sending a PUSH request. First param is TS TCP port to send request to # (default 8080). Second param is size in bytes (default 1K). if [[ "$1" != "" ]] ; then PORT=$1 else PORT=8080 fi if [[ "$2" != "" ]] ; then BYTES=$2 else BYTES=1024 fi EXE=$(mktemp) cc -x c -o $EXE - << THE_END #include <stdio.h> #include <stdlib.h> #include <stdint.h> #include <inttypes.h> int main(int n_arg, char const *const *arg) { int64_t data_count; int toggle = 0; int c = 'a', hdr_count; char buf[200]; if ((n_arg != 2) || ((data_count = atoi(arg[1])) <= 0)) { fprintf(stderr, "size of object must be greater than 0\n"); return 1; } hdr_count = snprintf(buf, sizeof(buf), "HTTP/1.1 200 OK\r\n" "Content-Type: text/plain\r\n" "Content-Length: %" PRId64 "\r\n" "\r\n", data_count); if (hdr_count <= 0) { fprintf(stderr, "INTERNAL ERROR\n"); return 1; } if (printf("PUSH http://fakehost/fake HTTP/1.1\r\n" "Content-Length: %" PRId64 "\r\n" "\r\n%s", hdr_count + data_count, buf) <= 0) { fprintf(stderr, "error writing standard output\n"); return 1; } while (--data_count) { if (putchar(c) != c) { fprintf(stderr, "error writing standard output\n"); return 1; } if (c == '\n') { c = 'a'; } else if (toggle) { if (c == 'z') { c = '\n'; } else { ++c; } toggle = 0; } else { toggle = 1; } } if (putchar('\n') != '\n') { fprintf(stderr, "error writing standard output\n"); return 1; } if (fflush(stdout) != 0) { fprintf(stderr, "error writing standard output\n"); return 1; } return 0; } THE_END $EXE $BYTES | nc localhost $PORT rm -f $EXE ``` Traffic generation command (for all tests): `h2load --h1 -t 64 -D 60 -c 512 http://localhost:8081/fake` ``` finished in 60.08s, 244096.15 req/s, 275.16MB/s requests: 14645769 total, 14646281 started, 14645769 done, 14645769 succeeded, 0 failed, 0 errored, 0 timeout status codes: 14645769 2xx, 0 3xx, 0 4xx, 0 5xx traffic: 16.12GB (17311298958) total, 1.57GB (1684276200) headers (space savings 0.00%), 13.97GB (14997381120) data min max mean sd +/- sd time for request: 48us 366.16ms 2.05ms 11.35ms 97.18% time for connect: 56us 25.50ms 962us 3.88ms 97.46% time to 1st byte: 329us 179.31ms 13.71ms 21.73ms 88.48% req/s : 443.05 506.56 476.75 13.49 73.44% ``` Changed debug.enabled to 1: ``` finished in 60.08s, 12595.35 req/s, 14.21MB/s requests: 755721 total, 756233 started, 755721 done, 755721 succeeded, 0 failed, 0 errored, 0 timeout status codes: 755721 2xx, 0 3xx, 0 4xx, 0 5xx traffic: 852.60MB (894017943) total, 83.60MB (87664680) headers (space savings 0.00%), 738.02MB (773867520) data min max mean sd +/- sd time for request: 82us 706.70ms 40.61ms 56.02ms 85.84% time for connect: 51us 16.27ms 569us 1.96ms 98.44% time to 1st byte: 1.21ms 495.01ms 90.48ms 78.03ms 68.36% ``` Switched to build with the changes in this PR, https://github.com/ywkaras/trafficserver/tree/FasterDiags2_20210409, set debug.enaabled to 0: ``` finished in 60.07s, 253010.88 req/s, 285.20MB/s requests: 15180653 total, 15181165 started, 15180653 done, 15180653 succeeded, 0 failed, 0 errored, 0 timeout status codes: 15180653 2xx, 0 3xx, 0 4xx, 0 5xx traffic: 16.71GB (17943531846) total, 1.63GB (1745781190) headers (space savings 0.00%), 14.48GB (15545042944) data min max mean sd +/- sd time for request: 49us 356.82ms 2.02ms 11.19ms 97.17% time for connect: 52us 996us 332us 184us 64.65% time to 1st byte: 355us 160.75ms 8.53ms 17.47ms 91.80% req/s : 393.28 598.30 494.16 68.07 58.98% ``` Changed debug.enabled to 1: ``` finished in 60.08s, 235457.07 req/s, 265.19MB/s requests: 14127424 total, 14127936 started, 14127424 done, 14127424 succeeded, 0 failed, 0 errored, 0 timeout status codes: 14127424 2xx, 0 3xx, 0 4xx, 0 5xx traffic: 15.54GB (16684487744) total, 1.50GB (1610532606) headers (space savings 0.00%), 13.47GB (14466538496) data min max mean sd +/- sd time for request: 51us 387.38ms 2.19ms 11.95ms 97.04% time for connect: 52us 15.86ms 565us 1.62ms 98.24% time to 1st byte: 332us 193.80ms 15.61ms 22.70ms 91.41% req/s : 424.37 496.46 459.87 14.61 72.07% ``` Changed debug.enabled to 3: ``` finished in 60.18s, 285280.92 req/s, 321.85MB/s requests: 17116855 total, 17117367 started, 17116855 done, 17116855 succeeded, 0 failed, 0 errored, 0 timeout status codes: 17116855 2xx, 0 3xx, 0 4xx, 0 5xx traffic: 18.86GB (20249239465) total, 1.85GB (1985567128) headers (space savings 0.00%), 16.32GB (17527764992) data min max mean sd +/- sd time for request: 48us 314.86ms 1.79ms 9.29ms 97.20% time for connect: 53us 127.69ms 5.54ms 25.00ms 95.90% time to 1st byte: 271us 190.07ms 15.85ms 29.97ms 91.60% req/s : 509.30 585.57 557.19 14.56 68.95% ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected]
