From fd2e11da1cac28f8db32441862cd793e4f84e728 Mon Sep 17 00:00:00 2001 From: Sahil Yeole Date: Wed, 3 Jul 2024 11:12:13 +0530 Subject: [PATCH 01/16] migrate benchmarks to k6 Signed-off-by: Sahil Yeole --- .github/workflows/bench.yml | 13 +++++++--- k6/bench.js | 52 +++++++++++++++++++++++++++++++++++++ k6/bench.sh | 5 ++++ k6/warmup.sh | 1 + run_benchmarks.sh | 18 +++++++------ wrk/bench1.sh | 1 - wrk/bench2.sh | 1 - wrk/wrk1.lua | 5 ---- wrk/wrk2.lua | 5 ---- 9 files changed, 77 insertions(+), 24 deletions(-) create mode 100644 k6/bench.js create mode 100644 k6/bench.sh create mode 100644 k6/warmup.sh delete mode 100755 wrk/bench1.sh delete mode 100755 wrk/bench2.sh delete mode 100644 wrk/wrk1.lua delete mode 100644 wrk/wrk2.lua diff --git a/.github/workflows/bench.yml b/.github/workflows/bench.yml index fa4bc97a..baf9de73 100644 --- a/.github/workflows/bench.yml +++ b/.github/workflows/bench.yml @@ -25,14 +25,19 @@ jobs: token: ${{ secrets.GITHUB_TOKEN }} ref: ${{ github.event_name == 'pull_request_target' && github.event.pull_request.head.sha || github.sha }} - - name: Build devcontainer and run benchmarks + - name: Build devcontainer uses: devcontainers/ci@v0.3 with: imageName: graphql-benchmarks push: never - runCmd: | - bash ./setup.sh - bash ./run_benchmarks.sh + + - name: Setup k6 + uses: grafana/setup-k6-action@v1 + + - name: Run benchmarks + run: | + bash ./setup.sh + bash ./run_benchmarks.sh - name: Print benchmark results run: cat ./results.md diff --git a/k6/bench.js b/k6/bench.js new file mode 100644 index 00000000..2520aec3 --- /dev/null +++ b/k6/bench.js @@ -0,0 +1,52 @@ +import http from 'k6/http'; +import { check } from 'k6'; + +const whichBenchmark = Number(__ENV.BENCHMARK); + +export const options = { + scenarios: { + posts: { + executor: 'constant-vus', + duration: whichBenchmark === 2 ? '30s' : '10s', + gracefulStop: '0s', + vus: 100, + } + }, + cloud: { + name: __ENV.TEST_NAME + '-' + whichBenchmark, + }, +}; + +const url = 'http://localhost:8000/graphql'; +const params = { + headers: { + 'Connection': 'keep-alive', + 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36', + 'Content-Type': 'application/json', + }, +}; + +export default function() { + const payload = JSON.stringify({ + operationName: null, + variables: {}, + query: whichBenchmark === 2 ? '{posts{id,userId,title,user{id,name,email}}}' : '{posts{title}}', + }); + + const res = http.post(url, payload, params); + check(res, { + 'status is 200': (r) => r.status === 200, + }); +} + +export function handleSummary(data) { + const med_request_count = data.metrics.http_reqs.values.count; + const avg_latency = data.metrics.http_req_duration.values.avg; + const trimmed_avg_latency = Math.round(avg_latency * 100) / 100; + const request_count_message = `Requests/sec: ${med_request_count}\n`; + const latency_message = `Latency: ${trimmed_avg_latency} ms\n`; + + return { + stdout: request_count_message + latency_message, + }; +} diff --git a/k6/bench.sh b/k6/bench.sh new file mode 100644 index 00000000..e268b5a2 --- /dev/null +++ b/k6/bench.sh @@ -0,0 +1,5 @@ +test_name=$1 +benchmark=$2 + +# k6 run k6/bench.js --quiet --out cloud --env TEST_NAME=$test_name --env BENCHMARK=$benchmark +k6 run k6/bench.js --quiet --env TEST_NAME=$test_name --env BENCHMARK=$benchmark diff --git a/k6/warmup.sh b/k6/warmup.sh new file mode 100644 index 00000000..f2a99f6b --- /dev/null +++ b/k6/warmup.sh @@ -0,0 +1 @@ +k6 run k6/bench.js --quiet diff --git a/run_benchmarks.sh b/run_benchmarks.sh index 3151eec1..64cd78f1 100755 --- a/run_benchmarks.sh +++ b/run_benchmarks.sh @@ -20,15 +20,17 @@ sh nginx/run.sh function runBenchmark() { killServerOnPort 8000 sleep 5 - local serviceScript="$1" + local service="$1" local benchmarks=(1 2) + local serviceScript="graphql/${service}/run.sh" bash "$serviceScript" & # Run in daemon mode sleep 15 # Give some time for the service to start up for bench in "${benchmarks[@]}"; do - local benchmarkScript="wrk/bench${bench}.sh" - + local benchmarkScript="tests/test.sh" + local warmupScript="tests/warmup.sh" + # Replace / with _ local sanitizedServiceScriptName=$(echo "$serviceScript" | tr '/' '_') @@ -37,18 +39,18 @@ function runBenchmark() { bash "test_query${bench}.sh" # Warmup run - bash "$benchmarkScript" > /dev/null + bash "$warmupScript" > /dev/null sleep 1 # Give some time for apps to finish in-flight requests from warmup - bash "$benchmarkScript" > /dev/null + bash "$warmupScript" > /dev/null sleep 1 - bash "$benchmarkScript" > /dev/null + bash "$warmupScript" > /dev/null sleep 1 # 3 benchmark runs for resultFile in "${resultFiles[@]}"; do echo "Running benchmark $bench for $serviceScript" - bash "$benchmarkScript" > "bench${bench}_${resultFile}" + bash "$benchmarkScript" "$service" "$bench" > "bench${bench}_${resultFile}" if [ "$bench" == "1" ]; then bench1Results+=("bench1_${resultFile}") else @@ -61,7 +63,7 @@ function runBenchmark() { rm "results.md" for service in "apollo_server" "caliban" "netflix_dgs" "gqlgen" "tailcall" "async_graphql"; do - runBenchmark "graphql/${service}/run.sh" + runBenchmark "$service" if [ "$service" == "apollo_server" ]; then cd graphql/apollo_server/ npm stop diff --git a/wrk/bench1.sh b/wrk/bench1.sh deleted file mode 100755 index dbaad277..00000000 --- a/wrk/bench1.sh +++ /dev/null @@ -1 +0,0 @@ -wrk -d 10 -t 4 -c 100 -s $(pwd)/wrk/wrk1.lua http://localhost:8000/graphql diff --git a/wrk/bench2.sh b/wrk/bench2.sh deleted file mode 100755 index e932ea71..00000000 --- a/wrk/bench2.sh +++ /dev/null @@ -1 +0,0 @@ -wrk -d 30 -t 4 -c 100 -s $(pwd)/wrk/wrk2.lua http://localhost:8000/graphql diff --git a/wrk/wrk1.lua b/wrk/wrk1.lua deleted file mode 100644 index d87bd060..00000000 --- a/wrk/wrk1.lua +++ /dev/null @@ -1,5 +0,0 @@ -wrk.method = "POST" -wrk.body = '{"operationName":null,"variables":{},"query":"{posts{title}}"}' -wrk.headers["Connection"] = "keep-alive" -wrk.headers["User-Agent"] = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36" -wrk.headers["Content-Type"] = "application/json" diff --git a/wrk/wrk2.lua b/wrk/wrk2.lua deleted file mode 100644 index 6b28ca81..00000000 --- a/wrk/wrk2.lua +++ /dev/null @@ -1,5 +0,0 @@ -wrk.method = "POST" -wrk.body = '{"operationName":null,"variables":{},"query":"{posts{id,userId,title,user{id,name,email}}}"}' -wrk.headers["Connection"] = "keep-alive" -wrk.headers["User-Agent"] = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36" -wrk.headers["Content-Type"] = "application/json" From cb24eaf144f72ad67763b1e075d08279dd3d1692 Mon Sep 17 00:00:00 2001 From: Sahil Yeole Date: Wed, 3 Jul 2024 11:21:37 +0530 Subject: [PATCH 02/16] update variables Signed-off-by: Sahil Yeole --- k6/bench.js | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/k6/bench.js b/k6/bench.js index 2520aec3..1d2da1a1 100644 --- a/k6/bench.js +++ b/k6/bench.js @@ -40,13 +40,12 @@ export default function() { } export function handleSummary(data) { - const med_request_count = data.metrics.http_reqs.values.count; - const avg_latency = data.metrics.http_req_duration.values.avg; - const trimmed_avg_latency = Math.round(avg_latency * 100) / 100; - const request_count_message = `Requests/sec: ${med_request_count}\n`; - const latency_message = `Latency: ${trimmed_avg_latency} ms\n`; + const requestCount = data.metrics.http_reqs.values.count; + const avgLatency = Math.round(data.metrics.http_req_duration.values.avg * 100) / 100; + const requestCountMessage = `Requests/sec: ${requestCount}\n`; + const latencyMessage = `Latency: ${avgLatency} ms\n`; return { - stdout: request_count_message + latency_message, + stdout: requestCountMessage + latencyMessage, }; } From 3aaf778f5051838981f412b1eecbf7ff2f02affa Mon Sep 17 00:00:00 2001 From: Sahil Yeole Date: Wed, 3 Jul 2024 20:13:46 +0530 Subject: [PATCH 03/16] fix tests path Signed-off-by: Sahil Yeole --- run_benchmarks.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/run_benchmarks.sh b/run_benchmarks.sh index 64cd78f1..a0a80b79 100755 --- a/run_benchmarks.sh +++ b/run_benchmarks.sh @@ -28,8 +28,8 @@ function runBenchmark() { sleep 15 # Give some time for the service to start up for bench in "${benchmarks[@]}"; do - local benchmarkScript="tests/test.sh" - local warmupScript="tests/warmup.sh" + local benchmarkScript="k6/bench.sh" + local warmupScript="k6/warmup.sh" # Replace / with _ local sanitizedServiceScriptName=$(echo "$serviceScript" | tr '/' '_') From 7d299e35a76fb7515c133f01b8fdf2a6c14278a4 Mon Sep 17 00:00:00 2001 From: Sahil Yeole Date: Thu, 4 Jul 2024 15:38:24 +0530 Subject: [PATCH 04/16] setup k6 cloud to upload results Signed-off-by: Sahil Yeole --- .github/workflows/bench.yml | 11 +++++++++++ k6/bench.js | 7 ++++--- k6/bench.sh | 7 +++++-- 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/.github/workflows/bench.yml b/.github/workflows/bench.yml index baf9de73..71da3fb0 100644 --- a/.github/workflows/bench.yml +++ b/.github/workflows/bench.yml @@ -18,6 +18,7 @@ jobs: if: github.event.head_commit.message != 'Update performance results in README.md' env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + K6_CLOUD_API_TOKEN: ${{ secrets.K6_CLOUD_API_TOKEN }} steps: - name: Checkout (GitHub) uses: actions/checkout@v4 @@ -34,6 +35,16 @@ jobs: - name: Setup k6 uses: grafana/setup-k6-action@v1 + - name: Setup k6 cloud environment + if: github.event_name == 'push' && github.ref == 'refs/heads/main' + run: | + if [ -z "$K6_CLOUD_API_TOKEN" ]; then + echo "K6_CLOUD_API_TOKEN is not set, results will not be uploaded to k6 cloud" + else + k6 login cloud --token $K6_CLOUD_API_TOKEN + echo "IS_K6_CLOUD_ENABLED=true" >> $GITHUB_ENV + fi + - name: Run benchmarks run: | bash ./setup.sh diff --git a/k6/bench.js b/k6/bench.js index 1d2da1a1..cc2b8986 100644 --- a/k6/bench.js +++ b/k6/bench.js @@ -2,18 +2,19 @@ import http from 'k6/http'; import { check } from 'k6'; const whichBenchmark = Number(__ENV.BENCHMARK); +const benchmarkName = whichBenchmark === 1 ? 'posts' : 'posts+users'; export const options = { scenarios: { posts: { executor: 'constant-vus', - duration: whichBenchmark === 2 ? '30s' : '10s', + duration: whichBenchmark === 1 ? '10s' : '30s', gracefulStop: '0s', vus: 100, } }, cloud: { - name: __ENV.TEST_NAME + '-' + whichBenchmark, + name: __ENV.TEST_NAME + '-' + benchmarkName, }, }; @@ -30,7 +31,7 @@ export default function() { const payload = JSON.stringify({ operationName: null, variables: {}, - query: whichBenchmark === 2 ? '{posts{id,userId,title,user{id,name,email}}}' : '{posts{title}}', + query: whichBenchmark === 1 ? '{posts{title}}' : '{posts{id,userId,title,user{id,name,email}}}', }); const res = http.post(url, payload, params); diff --git a/k6/bench.sh b/k6/bench.sh index e268b5a2..a0ed1bdb 100644 --- a/k6/bench.sh +++ b/k6/bench.sh @@ -1,5 +1,8 @@ test_name=$1 benchmark=$2 -# k6 run k6/bench.js --quiet --out cloud --env TEST_NAME=$test_name --env BENCHMARK=$benchmark -k6 run k6/bench.js --quiet --env TEST_NAME=$test_name --env BENCHMARK=$benchmark +if [ "$IS_K6_CLOUD_ENABLED" == "true" ]; then + k6 run k6/bench.js --quiet --out cloud --env TEST_NAME=$test_name --env BENCHMARK=$benchmark +else + k6 run k6/bench.js --quiet --env TEST_NAME=$test_name --env BENCHMARK=$benchmark +fi From fd5f4c83c94fd067494d3875778118902a911b5a Mon Sep 17 00:00:00 2001 From: Sahil Yeole Date: Fri, 5 Jul 2024 10:39:39 +0530 Subject: [PATCH 05/16] update readme Signed-off-by: Sahil Yeole --- README.md | 8 ++++---- assets/architecture.png | Bin 89103 -> 87493 bytes 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 6d577cac..6496038a 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ Explore and compare the performance of the fastest GraphQL frameworks through ou - [Throughput (Higher is better)](#throughput-higher-is-better) - [Latency (Lower is better)](#latency-lower-is-better) - [Architecture](#architecture) - - [WRK](#wrk) + - [K6](#k6) - [GraphQL](#graphql) - [Nginx](#nginx) - [Jsonplaceholder](#jsonplaceholder) @@ -117,11 +117,11 @@ Get started with the benchmarks: ![Architecture Diagram](assets/architecture.png) -A client (`wrk`) sends requests to a GraphQL server to fetch post titles. The GraphQL server, in turn, retrieves data from an external source, `jsonplaceholder.typicode.com`, routed through the `nginx` reverse proxy. +A client (`k6`) sends requests to a GraphQL server to fetch post titles. The GraphQL server, in turn, retrieves data from an external source, `jsonplaceholder.typicode.com`, routed through the `nginx` reverse proxy. -### WRK +### K6 -`wrk` serves as our test client, sending GraphQL requests at a high rate. +`k6` serves as our test client, sending GraphQL requests at a high rate. ### GraphQL diff --git a/assets/architecture.png b/assets/architecture.png index 843a5153d23076ae636fa754f0f26a45bd78d30c..daf361dc2f20329f00c876b8918e33fedf6f496a 100644 GIT binary patch literal 87493 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 YPA5y-6lGiuBEzjDuOgQ&dph9%0N6A{^#A|> literal 89103 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 ix1W9U|2y0|NlTJ2Z(c Date: Fri, 5 Jul 2024 11:32:31 +0530 Subject: [PATCH 06/16] support graphql endpoint for hasura Signed-off-by: Sahil Yeole --- k6/bench.js | 2 +- k6/bench.sh | 12 +++++++----- k6/warmup.sh | 1 - 3 files changed, 8 insertions(+), 7 deletions(-) delete mode 100644 k6/warmup.sh diff --git a/k6/bench.js b/k6/bench.js index cc2b8986..7778f2c3 100644 --- a/k6/bench.js +++ b/k6/bench.js @@ -18,7 +18,7 @@ export const options = { }, }; -const url = 'http://localhost:8000/graphql'; +const url = __ENV.GRAPHQL_ENDPOINT || 'http://localhost:8000/graphql'; const params = { headers: { 'Connection': 'keep-alive', diff --git a/k6/bench.sh b/k6/bench.sh index a0ed1bdb..80595313 100644 --- a/k6/bench.sh +++ b/k6/bench.sh @@ -1,8 +1,10 @@ -test_name=$1 -benchmark=$2 +graphql_endpoint=$1 +type=$2 +test_name=$3 +benchmark=$4 -if [ "$IS_K6_CLOUD_ENABLED" == "true" ]; then - k6 run k6/bench.js --quiet --out cloud --env TEST_NAME=$test_name --env BENCHMARK=$benchmark +if [ "$IS_K6_CLOUD_ENABLED" == "true" ] && [ "$type" == "upload" ]; then + k6 run k6/bench.js --quiet --out cloud --env TEST_NAME=$test_name --env BENCHMARK=$benchmark --env GRAPHQL_ENDPOINT=$graphql_endpoint else - k6 run k6/bench.js --quiet --env TEST_NAME=$test_name --env BENCHMARK=$benchmark + k6 run k6/bench.js --quiet --env TEST_NAME=$test_name --env BENCHMARK=$benchmark --env GRAPHQL_ENDPOINT=$graphql_endpoint fi diff --git a/k6/warmup.sh b/k6/warmup.sh deleted file mode 100644 index f2a99f6b..00000000 --- a/k6/warmup.sh +++ /dev/null @@ -1 +0,0 @@ -k6 run k6/bench.js --quiet From 8ae138b8253086bbfff67b120a1bedf248eb39b0 Mon Sep 17 00:00:00 2001 From: Sahil Yeole Date: Fri, 5 Jul 2024 17:21:30 +0530 Subject: [PATCH 07/16] update benchmark Signed-off-by: Sahil Yeole --- k6/bench.js | 6 +++--- run_benchmarks.sh | 20 ++++++++++---------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/k6/bench.js b/k6/bench.js index 7778f2c3..ad1d1da0 100644 --- a/k6/bench.js +++ b/k6/bench.js @@ -2,13 +2,13 @@ import http from 'k6/http'; import { check } from 'k6'; const whichBenchmark = Number(__ENV.BENCHMARK); -const benchmarkName = whichBenchmark === 1 ? 'posts' : 'posts+users'; +const benchmarkName = whichBenchmark === 2 ? 'posts' : 'posts+users'; export const options = { scenarios: { posts: { executor: 'constant-vus', - duration: whichBenchmark === 1 ? '10s' : '30s', + duration: whichBenchmark === 2 ? '10s' : '30s', gracefulStop: '0s', vus: 100, } @@ -31,7 +31,7 @@ export default function() { const payload = JSON.stringify({ operationName: null, variables: {}, - query: whichBenchmark === 1 ? '{posts{title}}' : '{posts{id,userId,title,user{id,name,email}}}', + query: whichBenchmark === 2 ? '{posts{title}}' : '{posts{id,userId,title,user{id,name,email}}}', }); const res = http.post(url, payload, params); diff --git a/run_benchmarks.sh b/run_benchmarks.sh index 549f13d6..1f2dbb3c 100755 --- a/run_benchmarks.sh +++ b/run_benchmarks.sh @@ -24,7 +24,7 @@ function runBenchmark() { local serviceScript="graphql/${service}/run.sh" local benchmarks=(1 2) - if [[ "$service" == *"hasura"* ]]; then + if [[ "$service" == "hasura" ]]; then bash "$serviceScript" # Run synchronously without background process else bash "$serviceScript" & # Run in daemon mode @@ -44,15 +44,15 @@ function runBenchmark() { local resultFiles=("result1_${sanitizedServiceScriptName}.txt" "result2_${sanitizedServiceScriptName}.txt" "result3_${sanitizedServiceScriptName}.txt") - bash "test_query${bench}.sh" "$graphqlEndpoint" + bash "test_query${bench}.sh" "$graphqlEndpoint" - # Warmup run - bash "$benchmarkScript" "$graphqlEndpoint" >/dev/null - sleep 1 # Give some time for apps to finish in-flight requests from warmup - bash "$benchmarkScript" "$graphqlEndpoint" >/dev/null - sleep 1 - bash "$benchmarkScript" "$graphqlEndpoint" >/dev/null - sleep 1 + # Warmup run + bash "$benchmarkScript" "$graphqlEndpoint" >/dev/null + sleep 1 # Give some time for apps to finish in-flight requests from warmup + bash "$benchmarkScript" "$graphqlEndpoint" >/dev/null + sleep 1 + bash "$benchmarkScript" "$graphqlEndpoint" >/dev/null + sleep 1 # 3 benchmark runs for resultFile in "${resultFiles[@]}"; do @@ -69,7 +69,7 @@ function runBenchmark() { rm "results.md" -for service in "apollo_server" "caliban" "netflix_dgs" "gqlgen" "tailcall" "async_graphql"; do +for service in "apollo_server" "caliban" "netflix_dgs" "gqlgen" "tailcall" "async_graphql" "hasura"; do runBenchmark "$service" if [ "$service" == "apollo_server" ]; then cd graphql/apollo_server/ From 1325b58dca6224479b6e3dce1283ac7c6bc5bd1d Mon Sep 17 00:00:00 2001 From: Sahil Yeole Date: Sat, 13 Jul 2024 16:33:33 +0530 Subject: [PATCH 08/16] use grafana dashboard for benchmarks Signed-off-by: Sahil Yeole --- .github/workflows/bench.yml | 22 ++++++++++++------- analyze.sh | 43 +++++-------------------------------- k6/bench.js | 16 ++++++-------- k6/bench.sh | 11 +++------- run_benchmarks.sh | 24 +++++++++++++++++---- wrk/bench.sh | 8 ------- wrk/wrk3.lua | 6 ------ 7 files changed, 49 insertions(+), 81 deletions(-) delete mode 100755 wrk/bench.sh delete mode 100644 wrk/wrk3.lua diff --git a/.github/workflows/bench.yml b/.github/workflows/bench.yml index 71da3fb0..3de2220a 100644 --- a/.github/workflows/bench.yml +++ b/.github/workflows/bench.yml @@ -18,7 +18,10 @@ jobs: if: github.event.head_commit.message != 'Update performance results in README.md' env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - K6_CLOUD_API_TOKEN: ${{ secrets.K6_CLOUD_API_TOKEN }} + GRAFANA_API_KEY: ${{ secrets.GRAFANA_API_KEY }} + INFLUXDB_TOKEN: ${{ secrets.INFLUXDB_TOKEN }} + INFLUXDB_ORG: ${{ secrets.INFLUXDB_ORG }} + INFLUXDB_URL: ${{ secrets.INFLUXDB_URL }} steps: - name: Checkout (GitHub) uses: actions/checkout@v4 @@ -35,15 +38,18 @@ jobs: - name: Setup k6 uses: grafana/setup-k6-action@v1 - - name: Setup k6 cloud environment + - name: Setup influxdb-cli if: github.event_name == 'push' && github.ref == 'refs/heads/main' run: | - if [ -z "$K6_CLOUD_API_TOKEN" ]; then - echo "K6_CLOUD_API_TOKEN is not set, results will not be uploaded to k6 cloud" - else - k6 login cloud --token $K6_CLOUD_API_TOKEN - echo "IS_K6_CLOUD_ENABLED=true" >> $GITHUB_ENV - fi + echo "UPLOAD_TO_CLOUD=true" >> $GITHUB_ENV + mkdir -p influxdb + cd influxdb + wget https://download.influxdata.com/influxdb/releases/influxdb2-client-2.7.5-linux-amd64.tar.gz + tar xvzf influxdb2-client-2.7.5-linux-amd64.tar.gz + cp influx /usr/local/bin/ + influx config create --config-name benchmark --host-url $INFLUXDB_URL --org $INFLUXDB_ORG --token $INFLUXDB_TOKEN --active + cd .. + rm -rf influxdb - name: Run benchmarks run: | diff --git a/analyze.sh b/analyze.sh index 17bbbce1..e211a7d1 100755 --- a/analyze.sh +++ b/analyze.sh @@ -41,10 +41,6 @@ for idx in "${!servers[@]}"; do avgLatencies[${servers[$idx]}]=$(average "${latencyVals[@]}") done -# Generating data files for gnuplot -reqSecData="/tmp/reqSec.dat" -latencyData="/tmp/latency.dat" - echo "Server Value" >"$reqSecData" for server in "${servers[@]}"; do echo "$server ${avgReqSecs[$server]}" >>"$reqSecData" @@ -62,36 +58,6 @@ elif [[ $1 == bench3* ]]; then whichBench=3 fi -reqSecHistogramFile="req_sec_histogram${whichBench}.png" -latencyHistogramFile="latency_histogram${whichBench}.png" - -# Plotting using gnuplot -gnuplot <<-EOF - set term pngcairo size 1280,720 enhanced font "Courier,12" - set output "$reqSecHistogramFile" - set style data histograms - set style histogram cluster gap 1 - set style fill solid border -1 - set xtics rotate by -45 - set boxwidth 0.9 - set title "Requests/Sec" - stats "$reqSecData" using 2 nooutput - set yrange [0:STATS_max*1.2] - set key outside right top - plot "$reqSecData" using 2:xtic(1) title "Req/Sec" - - set output "$latencyHistogramFile" - set title "Latency (in ms)" - stats "$latencyData" using 2 nooutput - set yrange [0:STATS_max*1.2] - plot "$latencyData" using 2:xtic(1) title "Latency" -EOF - -# Move PNGs to assets -mkdir -p assets -mv $reqSecHistogramFile assets/ -mv $latencyHistogramFile assets/ - # Declare an associative array for server RPS declare -A serverRPS @@ -120,6 +86,11 @@ fi for server in "${sortedServers[@]}"; do formattedReqSecs=$(printf "%.2f" ${avgReqSecs[$server]} | perl -pe 's/(?<=\d)(?=(\d{3})+(\.\d*)?$)/,/g') formattedLatencies=$(printf "%.2f" ${avgLatencies[$server]} | perl -pe 's/(?<=\d)(?=(\d{3})+(\.\d*)?$)/,/g') + echo "Writing to influx for $server and benchmark $whichBench with ${avgReqSecs[$server]} and ${avgLatencies[$server]}" + influx write -b bench " + http_reqs,test_name=$server,benchmark=$whichBench value=${avgReqSecs[$server]} + latency,test_name=$server,benchmark=$whichBench value=${avgLatencies[$server]} + " # Calculate the relative performance relativePerformance=$(echo "${avgReqSecs[$server]} $lastServerReqSecs" | awk '{printf "%.2f", $1 / $2}') @@ -154,10 +125,6 @@ if [[ $whichBench == 3 ]]; then fi fi -# Move the generated images to the assets folder -mv $reqSecHistogramFile assets/ -mv $latencyHistogramFile assets/ - # Delete the result TXT files for file in "${resultFiles[@]}"; do rm "$file" diff --git a/k6/bench.js b/k6/bench.js index ad1d1da0..8be09015 100644 --- a/k6/bench.js +++ b/k6/bench.js @@ -2,19 +2,17 @@ import http from 'k6/http'; import { check } from 'k6'; const whichBenchmark = Number(__ENV.BENCHMARK); -const benchmarkName = whichBenchmark === 2 ? 'posts' : 'posts+users'; +const benchmarkName = whichBenchmark === 1 ? 'posts_users' : 2 ? 'posts' : 'greet'; +const duration = whichBenchmark === 1 ? '30' : '10'; export const options = { scenarios: { - posts: { + [__ENV.TEST_NAME + '-' + benchmarkName]: { executor: 'constant-vus', - duration: whichBenchmark === 2 ? '10s' : '30s', + duration: duration+'s', gracefulStop: '0s', vus: 100, - } - }, - cloud: { - name: __ENV.TEST_NAME + '-' + benchmarkName, + }, }, }; @@ -31,7 +29,7 @@ export default function() { const payload = JSON.stringify({ operationName: null, variables: {}, - query: whichBenchmark === 2 ? '{posts{title}}' : '{posts{id,userId,title,user{id,name,email}}}', + query: whichBenchmark === 1 ? '{posts{id,userId,title,user{id,name,email}}}' : 2 ? '{posts{title}}' : '{greet}', }); const res = http.post(url, payload, params); @@ -41,7 +39,7 @@ export default function() { } export function handleSummary(data) { - const requestCount = data.metrics.http_reqs.values.count; + const requestCount = (data.metrics.http_reqs.values.count/duration).toFixed(0); const avgLatency = Math.round(data.metrics.http_req_duration.values.avg * 100) / 100; const requestCountMessage = `Requests/sec: ${requestCount}\n`; const latencyMessage = `Latency: ${avgLatency} ms\n`; diff --git a/k6/bench.sh b/k6/bench.sh index 80595313..f82dbe0e 100644 --- a/k6/bench.sh +++ b/k6/bench.sh @@ -1,10 +1,5 @@ graphql_endpoint=$1 -type=$2 -test_name=$3 -benchmark=$4 +test_name=$2 +benchmark=$3 -if [ "$IS_K6_CLOUD_ENABLED" == "true" ] && [ "$type" == "upload" ]; then - k6 run k6/bench.js --quiet --out cloud --env TEST_NAME=$test_name --env BENCHMARK=$benchmark --env GRAPHQL_ENDPOINT=$graphql_endpoint -else - k6 run k6/bench.js --quiet --env TEST_NAME=$test_name --env BENCHMARK=$benchmark --env GRAPHQL_ENDPOINT=$graphql_endpoint -fi +k6 run k6/bench.js --env TEST_NAME=$test_name --env BENCHMARK=$benchmark --env GRAPHQL_ENDPOINT=$graphql_endpoint --quiet diff --git a/run_benchmarks.sh b/run_benchmarks.sh index 3c5b1e5a..6279d593 100755 --- a/run_benchmarks.sh +++ b/run_benchmarks.sh @@ -21,7 +21,8 @@ sh nginx/run.sh function runBenchmark() { killServerOnPort 8000 sleep 5 - local serviceScript="$1" + local service="$1" + local serviceScript="graphql/${service}/run.sh" local benchmarks=(1 2 3) if [[ "$service" == "hasura" ]]; then @@ -45,7 +46,7 @@ function runBenchmark() { local resultFiles=("result1_${sanitizedServiceScriptName}.txt" "result2_${sanitizedServiceScriptName}.txt" "result3_${sanitizedServiceScriptName}.txt") - bash "test_query${bench}.sh" "$graphqlEndpoint" + bash "test_query${bench}.sh" "$graphqlEndpoint" # Warmup run bash "$benchmarkScript" "$graphqlEndpoint" "$bench" >/dev/null @@ -58,7 +59,7 @@ function runBenchmark() { # 3 benchmark runs for resultFile in "${resultFiles[@]}"; do echo "Running benchmark $bench for $serviceScript" - bash "$benchmarkScript" "$graphqlEndpoint" "$bench" >"bench${bench}_${resultFile}" + bash "$benchmarkScript" "$graphqlEndpoint" "$service" "$bench" > "bench${bench}_${resultFile}" if [ "$bench" == "1" ]; then bench1Results+=("bench1_${resultFile}") elif [ "$bench" == "2" ]; then @@ -73,7 +74,7 @@ function runBenchmark() { rm "results.md" for service in "apollo_server" "caliban" "netflix_dgs" "gqlgen" "tailcall" "async_graphql" "hasura" "graphql_jit"; do - runBenchmark "graphql/${service}/run.sh" + runBenchmark "$service" if [ "$service" == "apollo_server" ]; then cd graphql/apollo_server/ npm stop @@ -86,3 +87,18 @@ done bash analyze.sh "${bench1Results[@]}" bash analyze.sh "${bench2Results[@]}" bash analyze.sh "${bench3Results[@]}" + +if [[ "$UPLOAD_TO_CLOUD" == "true" ]]; then + # Wait for 5 seconds to ensure the results are uploaded to influxdb + sleep 5 + + # Get rendered panels from grafana + from=$(date -u -d "-30 minutes" +"%Y-%m-%dT%H:%M:%S.%3NZ") + now=$(date -u +"%Y-%m-%dT%H:%M:%S.%3NZ") + curl -o assets/posts_users_req.png -H "Authorization: Bearer $GRAFANA_API_KEY" "https://tailcall.grafana.net/render/d-solo/cdqucydulbfggb?tab=queries&from=$from&to=$now&panelId=panel-1&__feature.dashboardSceneSolo&width=1000&height=500&tz=Asia%2FCalcutta" --connect-timeout 120 + curl -o assets/posts_users_latency.png -H "Authorization: Bearer $GRAFANA_API_KEY" "https://tailcall.grafana.net/render/d-solo/cdqucydulbfggb?tab=queries&from=$from&to=$now&panelId=panel-2&__feature.dashboardSceneSolo&width=1000&height=500&tz=Asia%2FCalcutta" --connect-timeout 120 + curl -o assets/posts_req.png -H "Authorization: Bearer $GRAFANA_API_KEY" "https://tailcall.grafana.net/render/d-solo/cdqucydulbfggb?tab=queries&from=$from&to=$now&panelId=panel-3&__feature.dashboardSceneSolo&width=1000&height=500&tz=Asia%2FCalcutta" --connect-timeout 120 + curl -o assets/posts_latency.png -H "Authorization: Bearer $GRAFANA_API_KEY" "https://tailcall.grafana.net/render/d-solo/cdqucydulbfggb?tab=queries&from=$from&to=$now&panelId=panel-4&__feature.dashboardSceneSolo&width=1000&height=500&tz=Asia%2FCalcutta" --connect-timeout 120 + curl -o assets/greet_req.png -H "Authorization: Bearer $GRAFANA_API_KEY" "https://tailcall.grafana.net/render/d-solo/cdqucydulbfggb?tab=queries&from=$from&to=$now&panelId=panel-5&__feature.dashboardSceneSolo&width=1000&height=500&tz=Asia%2FCalcutta" --connect-timeout 120 + curl -o assets/greet_latency.png -H "Authorization: Bearer $GRAFANA_API_KEY" "https://tailcall.grafana.net/render/d-solo/cdqucydulbfggb?tab=queries&from=$from&to=$now&panelId=panel-6&__feature.dashboardSceneSolo&width=1000&height=500&tz=Asia%2FCalcutta" --connect-timeout 120 +fi diff --git a/wrk/bench.sh b/wrk/bench.sh deleted file mode 100755 index a271a4b7..00000000 --- a/wrk/bench.sh +++ /dev/null @@ -1,8 +0,0 @@ -graphqlEndpoint="${1:-http://localhost:8000/graphql}" -whichBench=$2 - -if [ "$whichBench" == "2" ]; then - wrk -d 30 -t 4 -c 100 -s $(pwd)/wrk/wrk2.lua "$graphqlEndpoint" -else - wrk -d 10 -t 4 -c 100 -s "$(pwd)/wrk/wrk${whichBench}.lua" "$graphqlEndpoint" -fi diff --git a/wrk/wrk3.lua b/wrk/wrk3.lua deleted file mode 100644 index 362cf4fe..00000000 --- a/wrk/wrk3.lua +++ /dev/null @@ -1,6 +0,0 @@ -wrk.method = "POST" -wrk.body = '{"operationName":null,"variables":{},"query":"{greet}"}' -wrk.headers["Connection"] = "keep-alive" -wrk.headers["User-Agent"] = - "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36" -wrk.headers["Content-Type"] = "application/json" From 95d0fa34136defccf63b39eb102abea9332d9d52 Mon Sep 17 00:00:00 2001 From: Sahil Yeole Date: Sat, 13 Jul 2024 16:40:11 +0530 Subject: [PATCH 09/16] remove unused files Signed-off-by: Sahil Yeole --- assets/canvas.excalidraw | 531 ---------------------------------- assets/latency_histogram1.png | Bin 24670 -> 0 bytes assets/latency_histogram2.png | Bin 24110 -> 0 bytes assets/latency_histogram3.png | Bin 23958 -> 0 bytes assets/req_sec_histogram1.png | Bin 24212 -> 0 bytes assets/req_sec_histogram2.png | Bin 23679 -> 0 bytes assets/req_sec_histogram3.png | Bin 24501 -> 0 bytes run_benchmarks.sh | 2 +- 8 files changed, 1 insertion(+), 532 deletions(-) delete mode 100644 assets/canvas.excalidraw delete mode 100644 assets/latency_histogram1.png delete mode 100644 assets/latency_histogram2.png delete mode 100644 assets/latency_histogram3.png delete mode 100644 assets/req_sec_histogram1.png delete mode 100644 assets/req_sec_histogram2.png delete mode 100644 assets/req_sec_histogram3.png diff --git a/assets/canvas.excalidraw b/assets/canvas.excalidraw deleted file mode 100644 index 666000e6..00000000 --- a/assets/canvas.excalidraw +++ /dev/null @@ -1,531 +0,0 @@ -{ - "type": "excalidraw", - "version": 2, - "source": "https://marketplace.visualstudio.com/items?itemName=pomdtr.excalidraw-editor", - "elements": [ - { - "id": "Rsw1rvlpsMVnF6AZxWIkW", - "type": "image", - "x": 1100, - "y": 400, - "width": 96.40234375000007, - "height": 96.40234375000007, - "angle": 0, - "strokeColor": "transparent", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 4, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [ - "FaBNXvUjSPnNDD11T70FA" - ], - "frameId": null, - "roundness": null, - "seed": 1699644304, - "version": 636, - "versionNonce": 447823728, - "isDeleted": false, - "boundElements": [ - { - "id": "XXbH3ykZ79DT8eWIm84op", - "type": "arrow" - }, - { - "id": "g5NWEgTJkbmvyDrLogkTK", - "type": "arrow" - } - ], - "updated": 1695740447494, - "link": null, - "locked": false, - "status": "pending", - "fileId": "882593600714d96f8245fd3c5a0f2a9f3554d842", - "scale": [ - 1, - 1 - ] - }, - { - "id": "Etr7dDR8itdEWLgRJvltG", - "type": "text", - "x": 1310.7732633072605, - "y": 420, - "width": 157.22515402305373, - "height": 53.666185906535674, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 4, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [ - "CZveppB0W1fKMrZxAl6M3", - "FaBNXvUjSPnNDD11T70FA" - ], - "frameId": null, - "roundness": null, - "seed": 761551248, - "version": 83, - "versionNonce": 328773520, - "isDeleted": false, - "boundElements": null, - "updated": 1695740447494, - "link": null, - "locked": false, - "text": "{JSON}", - "fontSize": 44.72182158877973, - "fontFamily": 3, - "textAlign": "left", - "verticalAlign": "top", - "baseline": 42.99999999999999, - "containerId": null, - "originalText": "{JSON}", - "lineHeight": 1.2 - }, - { - "id": "9G9G6EhMhBEwYVGnpEWwH", - "type": "text", - "x": 1220, - "y": 492.73701477414687, - "width": 349.3892311623417, - "height": 29.814547725853153, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 4, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [ - "CZveppB0W1fKMrZxAl6M3", - "FaBNXvUjSPnNDD11T70FA" - ], - "frameId": null, - "roundness": null, - "seed": 1163199344, - "version": 157, - "versionNonce": 322425200, - "isDeleted": false, - "boundElements": null, - "updated": 1695740447495, - "link": null, - "locked": false, - "text": "placeholder.typicode.com", - "fontSize": 24.845456438210963, - "fontFamily": 3, - "textAlign": "left", - "verticalAlign": "top", - "baseline": 24, - "containerId": null, - "originalText": "placeholder.typicode.com", - "lineHeight": 1.2 - }, - { - "id": "sq33Pa8q5QOuLhEloCSmK", - "type": "image", - "x": 900, - "y": 400, - "width": 100.00000000000001, - "height": 100.00000000000001, - "angle": 0, - "strokeColor": "transparent", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 4, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [ - "FaBNXvUjSPnNDD11T70FA" - ], - "frameId": null, - "roundness": null, - "seed": 1638037872, - "version": 378, - "versionNonce": 972832144, - "isDeleted": false, - "boundElements": [ - { - "id": "XINLfJxqeAEckPm99t5rz", - "type": "arrow" - }, - { - "id": "XXbH3ykZ79DT8eWIm84op", - "type": "arrow" - }, - { - "id": "UzCtCJDfIl-h1RCrG_Y_5", - "type": "arrow" - }, - { - "id": "2vVqwcIk_kRI7H1_R9QpR", - "type": "arrow" - } - ], - "updated": 1695740447495, - "link": null, - "locked": false, - "status": "pending", - "fileId": "c30cf7a84df4d4ae7518d24f694f86a8aa4b22f6", - "scale": [ - 1, - 1 - ] - }, - { - "id": "NuIejDWxUniTTJfkcDkW1", - "type": "rectangle", - "x": 700, - "y": 420, - "width": 100, - "height": 80, - "angle": 0, - "strokeColor": "#343a40", - "backgroundColor": "#ffec99", - "fillStyle": "solid", - "strokeWidth": 4, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 100, - "groupIds": [ - "MZaR2cvEAUpN82_3SSsp3", - "FaBNXvUjSPnNDD11T70FA" - ], - "frameId": null, - "roundness": { - "type": 3 - }, - "seed": 1413848944, - "version": 45, - "versionNonce": 555492208, - "isDeleted": false, - "boundElements": null, - "updated": 1695740447495, - "link": null, - "locked": false - }, - { - "id": "Mfi6c7eDmzW3SD7KY6ADr", - "type": "text", - "x": 720, - "y": 437.0320251177394, - "width": 60, - "height": 44.3679748822606, - "angle": 0, - "strokeColor": "#343a40", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 4, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [ - "MZaR2cvEAUpN82_3SSsp3", - "FaBNXvUjSPnNDD11T70FA" - ], - "frameId": null, - "roundness": null, - "seed": 744145808, - "version": 173, - "versionNonce": 683543440, - "isDeleted": false, - "boundElements": [], - "updated": 1695740447495, - "link": null, - "locked": false, - "text": "wrk", - "fontSize": 38.58084772370487, - "fontFamily": 2, - "textAlign": "center", - "verticalAlign": "top", - "baseline": 35, - "containerId": null, - "originalText": "wrk", - "lineHeight": 1.15 - }, - { - "type": "arrow", - "version": 319, - "versionNonce": 1386624368, - "isDeleted": false, - "id": "XXbH3ykZ79DT8eWIm84op", - "fillStyle": "hachure", - "strokeWidth": 4, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 100, - "angle": 0, - "x": 1020, - "y": 459.9999999999635, - "strokeColor": "#343a40", - "backgroundColor": "transparent", - "width": 60.65234375, - "height": 1.8985701899509877e-11, - "seed": 2085269360, - "groupIds": [ - "FaBNXvUjSPnNDD11T70FA" - ], - "frameId": null, - "roundness": { - "type": 2 - }, - "boundElements": [], - "updated": 1695740447495, - "link": null, - "locked": false, - "startBinding": { - "elementId": "sq33Pa8q5QOuLhEloCSmK", - "focus": 0.2, - "gap": 20 - }, - "endBinding": { - "elementId": "Rsw1rvlpsMVnF6AZxWIkW", - "focus": -0.24478301389845603, - "gap": 19.34765625 - }, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": "triangle", - "points": [ - [ - 0, - 0 - ], - [ - 60.65234375, - 1.8985701899509877e-11 - ] - ] - }, - { - "type": "arrow", - "version": 191, - "versionNonce": 974526864, - "isDeleted": false, - "id": "g5NWEgTJkbmvyDrLogkTK", - "fillStyle": "hachure", - "strokeWidth": 4, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 100, - "angle": 0, - "x": 1220, - "y": 460, - "strokeColor": "#343a40", - "backgroundColor": "transparent", - "width": 60.65234375, - "height": 0, - "seed": 2081439600, - "groupIds": [ - "FaBNXvUjSPnNDD11T70FA" - ], - "frameId": null, - "roundness": { - "type": 2 - }, - "boundElements": [], - "updated": 1695740447495, - "link": null, - "locked": false, - "startBinding": { - "elementId": "Rsw1rvlpsMVnF6AZxWIkW", - "focus": 0.24478301389845603, - "gap": 23.59765625 - }, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": "triangle", - "points": [ - [ - 0, - 0 - ], - [ - 60.65234375, - 0 - ] - ] - }, - { - "id": "XINLfJxqeAEckPm99t5rz", - "type": "arrow", - "x": 820, - "y": 460, - "width": 60.652343759225914, - "height": 0.0005974943387059284, - "angle": 0, - "strokeColor": "#343a40", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 4, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 100, - "groupIds": [ - "ssZidudtdkgYlNmYDYucQ", - "FaBNXvUjSPnNDD11T70FA" - ], - "frameId": null, - "roundness": { - "type": 2 - }, - "seed": 373341072, - "version": 242, - "versionNonce": 756942704, - "isDeleted": false, - "boundElements": null, - "updated": 1695740447495, - "link": null, - "locked": false, - "points": [ - [ - 0, - 0 - ], - [ - 60.652343759225914, - 0.0005974943387059284 - ] - ], - "lastCommittedPoint": null, - "startBinding": null, - "endBinding": { - "elementId": "sq33Pa8q5QOuLhEloCSmK", - "focus": -0.20002364248762314, - "gap": 19.347656240774086 - }, - "startArrowhead": null, - "endArrowhead": "triangle" - }, - { - "type": "arrow", - "version": 273, - "versionNonce": 1094477712, - "isDeleted": false, - "id": "2vVqwcIk_kRI7H1_R9QpR", - "fillStyle": "hachure", - "strokeWidth": 4, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 100, - "angle": 0, - "x": 820, - "y": 440, - "strokeColor": "#343a40", - "backgroundColor": "transparent", - "width": 60, - "height": 0.00001876576482118253, - "seed": 1380811632, - "groupIds": [ - "I_azqQXfVWz-oycklVOyg", - "ssZidudtdkgYlNmYDYucQ", - "FaBNXvUjSPnNDD11T70FA" - ], - "frameId": null, - "roundness": { - "type": 2 - }, - "boundElements": [], - "updated": 1695740447495, - "link": null, - "locked": false, - "startBinding": null, - "endBinding": { - "elementId": "sq33Pa8q5QOuLhEloCSmK", - "focus": 0.19999912426458225, - "gap": 20 - }, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": "triangle", - "points": [ - [ - 0, - 0 - ], - [ - 60, - 0.00001876576482118253 - ] - ] - }, - { - "type": "arrow", - "version": 179, - "versionNonce": 1288411504, - "isDeleted": false, - "id": "UzCtCJDfIl-h1RCrG_Y_5", - "fillStyle": "hachure", - "strokeWidth": 4, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 100, - "angle": 0, - "x": 820, - "y": 480, - "strokeColor": "#343a40", - "backgroundColor": "transparent", - "width": 60, - "height": 0, - "seed": 158820208, - "groupIds": [ - "13ZV-TJqzrAOQRakletZR", - "ssZidudtdkgYlNmYDYucQ", - "FaBNXvUjSPnNDD11T70FA" - ], - "frameId": null, - "roundness": { - "type": 2 - }, - "boundElements": [], - "updated": 1695740447495, - "link": null, - "locked": false, - "startBinding": null, - "endBinding": { - "elementId": "sq33Pa8q5QOuLhEloCSmK", - "focus": -0.5999999999999999, - "gap": 20 - }, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": "triangle", - "points": [ - [ - 0, - 0 - ], - [ - 60, - 0 - ] - ] - } - ], - "appState": { - "gridSize": 20, - "viewBackgroundColor": "#ffffff" - }, - "files": { - "882593600714d96f8245fd3c5a0f2a9f3554d842": { - "mimeType": "image/png", - "id": "882593600714d96f8245fd3c5a0f2a9f3554d842", - "dataURL": "data:image/png;base64,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", - "created": 1695739935557, - "lastRetrieved": 1695739935557 - }, - "c30cf7a84df4d4ae7518d24f694f86a8aa4b22f6": { - "mimeType": "image/svg+xml", - "id": "c30cf7a84df4d4ae7518d24f694f86a8aa4b22f6", - "dataURL": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBmaWxsPSIjZTEwMDk4IiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCI+PHN0eWxlPnN2Z3tmaWxsOmNvbG9yKGRpc3BsYXktcDMgMC44ODI0IDAgMC41OTYxKTt9PC9zdHlsZT48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTUwIDYuOTAzMDhMODcuMzIzIDI4LjQ1MTVWNzEuNTQ4NEw1MCA5My4wOTY4TDEyLjY3NyA3MS41NDg0VjI4LjQ1MTVMNTAgNi45MDMwOFpNMTYuODY0NyAzMC44NjkzVjYyLjUyNTFMNDQuMjc5NSAxNS4wNDE0TDE2Ljg2NDcgMzAuODY5M1pNNTAgMTMuNTA4NkwxOC4zOTc1IDY4LjI0NTdIODEuNjAyNUw1MCAxMy41MDg2Wk03Ny40MTQ4IDcyLjQzMzRIMjIuNTg1Mkw1MCA4OC4yNjEzTDc3LjQxNDggNzIuNDMzNFpNODMuMTM1MyA2Mi41MjUxTDU1LjcyMDUgMTUuMDQxNEw4My4xMzUzIDMwLjg2OTNWNjIuNTI1MVoiLz48Y2lyY2xlIGN4PSI1MCIgY3k9IjkuMzIwOSIgcj0iOC44MiIvPjxjaXJjbGUgY3g9Ijg1LjIyOTIiIGN5PSIyOS42NjA1IiByPSI4LjgyIi8+PGNpcmNsZSBjeD0iODUuMjI5MiIgY3k9IjcwLjMzOTYiIHI9IjguODIiLz48Y2lyY2xlIGN4PSI1MCIgY3k9IjkwLjY3OTEiIHI9IjguODIiLz48Y2lyY2xlIGN4PSIxNC43NjU5IiBjeT0iNzAuMzM5NiIgcj0iOC44MiIvPjxjaXJjbGUgY3g9IjE0Ljc2NTkiIGN5PSIyOS42NjA1IiByPSI4LjgyIi8+PC9zdmc+", - "created": 1695740054415, - "lastRetrieved": 1695740054415 - } - } -} \ No newline at end of file diff --git a/assets/latency_histogram1.png b/assets/latency_histogram1.png deleted file mode 100644 index 89c080673e29a47604c9ad325f1c376fb8b7e1ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24670 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

i=}}&?sSXOa?_wxsP6QA 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 UW7{OzRpN;Y60&Dg#I^7KKT|C|qyPW_ diff --git a/assets/req_sec_histogram1.png b/assets/req_sec_histogram1.png deleted file mode 100644 index 494bf09e7949a0f8e650001586fef7a578705546..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24212 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 diff --git a/assets/req_sec_histogram2.png b/assets/req_sec_histogram2.png deleted file mode 100644 index 5b898712194d37e12da3d3322fb1c37aa1c1bc7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23679 zcmeHvXINERmhAxph$4uHq69IaqJkijK`{U-K|!Jf5kVx0ZEbys!WuCDjK?$`aJsqZVfB4_Wt_L^gkIp&z_zJi<-EzMRM5{X1B zBYpA$iL?seQdUw^;*VqOXDIN;YTdI^CrQi1|H85(d`YD3B$<=Pm286sTkRbEYH!Uh zTgcE<=`if*xEL80d;k5r*tLh!_(#upI=H1MnFr}=7}Z#-Cx)A^Hrs42`{A2@hID~a zuw3*#LG|OuV-%9PzpQd!6RG^_s}cpr!;?E6FD#|C7jX7@4-4GlGFtssegdCYNQ^?DXTyYa5Ny1Ix^XL7m7 zi0E)yXNX;QfL3(vz^`%0_={XA0Iq;U{NmA z^Jy)2%loS(uTFWgxh#z3F8t)yOw=Oj*mUVTP>?3~uAo{kIzO0nf_l@YO~h|ixGYVa z@??6%BE;J~P@E>Q*e5^HQ{ggR#3^#xG<&LUqr9kjcWJ==lRMmRG+y=3o@sMv)Ywky zV7x}+?SAbmN5gT1pWo_X*1~v6PmqP&<;$0yotGL7LKmBi;;nKPKhsHwTJ~0EWo6-m z5>rx+`bdjTeN*g<3^dKy$ITtz`D`uI0jy<(`23)p`1r!yguKX5@~c;`7N?s>6hq11 z%v|Q1y(01ZCwG{)JIx%_$`TyQ6%I|$4xYER?tCQR#UeCb%2zSCWv;n>$-4KY$J+sc zShMz=;F0%>{Hdv_%Yz0IBK_~e$H&K?6m`vxb++4fJ~9#KCnfl<m>tkwCQB@JO0?Pa1mhRW0tF%r{JFKY&Yw4*{q9lm{BZcIS3hvQ z>2isxX?DA*{#t`zD`j)@u@!WpJXgLxi#beFP_ghBR=@UY zH1GU6l)JoSR2L&-cJ%1c>EYH)tbVqT`HwG4i}R@|DQ^Xq`$CuYx$~H{WleTJ5@>6P zkPr3pcp>59O#MB;Afz!sDn!6ci~4fat5eNtbNQRK9S0K&OvQ5eW=zb?mVa!{6~v28 zNl7Vpi_e~Js*+-7l`JeN5$Sx$cm4WxVew4XxVaDYS_8Gw^)op$+2wR;hBa@8xL1%G z#HCy*de0>3mo=H?EY=e;kftH1E~7r?{z)kKW+t9=o%Xjjp8np&D4$?bk&Bpf=# zBDsZEukc5{XHRK>#ZNz#IJKniVy<`={_EeU*c}u2jELvc&}epFvr$+=$287nnB?kx zlC+}IPfmQUYYt%$A~t_}?V)#ZaXEN3HJutM#%igitxhwo{`EzOu{OtvvPs%D=lLP8 zt?M`}mu%;)XA7y=Y&!-UlV?nV7UJt4_5q4%>*dJLfJ=pLOB6(UE7vK%24o9dk*ckqn3_YpQYAw1X(u$Ladvf9n@etpgKAg@3MGSn_TVDW`12H#ijl2 z+qX?kP5u4-tZX5{g66tcuUGl-R7 zwFzc}psHwA{FgcM#+Yy zofSbs6M)1;JbGQ6=6r#~l6mpdeGx%7i+B59s%f7Q?=L(b zJa`cph}fD=ZFkPh&R)E;S!=e++xc6nS^JYGPtG}wk+!dHbl!Z3WbgISjVjctPAyo9 z&A#^~{U>ghxsu8567F2bkE=E_Zr zX3i6Vm3^9F&CSg&6M^kWjC!F?)4+9k_N_yan_NG#7)&}}{P&Ss>|Z8a^q zsXiygeyX1?HtWNODK71~Vqn(e;kFM(^~0r3xyy?qn;98nG*V3i9e||FNGjzYsn}aG zZAQFZ7CNUu z4XfH#t|eH8;Hs^^{-9h3qQr=_K_Z=}&%^(pJWg6cBGIp+_|N{q&7^GC0|WK(?HN`B z@3TSKbmWc9%qpfC8fqAPTxvJoZ=I%h?4f-+-|0R;bRVDav$kQU}kdiWPfygd8Ni$F~G_Fle%L+@>zFUbe9S(PS(s% z;p*DCK0Bq_ENf%~Y}-QiPj74wCRea^Tus?Fm`q%5zk{(rgCTLbi_;CnoqU#RF+@Z# z3*PAHD)QCP&;W_)6B)^xNbB@+=ngQzy8bxv5SXK`rPbEyEfLZN0z$>Le?MqT&|2=S z8zs*UdNLifUl=P`9{10+9P)K8Ojwk=wA2>LM`jcmao;I7H{rtFFqB!aB%d#^cACVU z^lzWLDeip%u_W8X?MZa(;tM`fY%*rfi^%A6pgMy|6(9`nJ(;#hQX}bx0#K*AeB}v> z)#u|YC%n%+;l}q*SRppMk?a}r^icC1`HT;s9tNr}sv;Wf{4Rfyn)@WQYAf$Bc_1F| zV_Mw0iFkBBvAFRql^?9w(pJx!#1DOM{b zEiEnH02T@71)%SkkN8Bk?4S$Rcs(yTvO+x@MNZ$_z&Ipk5XS22YI;e4_ZrTi(IUWE z#z0(2Sy}e?yW8qwHBuet##>ri=szJ+y~WABiB}4=%=0%9p+PIqQrXfX3WC5_E*L(c zctGuaS8uqtGgub5X_gm3In|Q%7r_PIy?fVS5b7kJ95p0iM*Te#nTXY<<-D5OTzZ9* zDOm6Fl=d<|l3r4|u#v}nQ~?Wxm)J59N+)~6sYdaZ?3Nd2%$kx7kplg-?E8?E3HmuX z2=Efb9gxXnAR_%Iummeyf2m(3H)FE;>UbxUatsf)-q>1QtZc7A+fxG&)(-WIs3}<&{AJB;l?EHw2s?I%nl>j0%AE=OP*N` z)PZd{*##faNEs{>Xg}B9F_hXqeC->(WRJH<%gvI5z}>CbDRqiMLPAL7NUCR_9Y`OD z%VavJ{?xgjRea2~WHlMZj#I;b7NWBb1vBG~{iTY(s%wWS6?`+U29sF{CBNrFf zK!3j^wTNRI_-6#W=;HAp;`QeZmlPGHW6u|Ou{zXi+FVptzDtjchQi4aG1Al3W$ZM6 z#Y?FBy9fIcl4rHS@rnSxo)ZFKWrq$NSO89BO*w%VxH}p5z+*;4Uf+RttO|JN?YUG=rCH~&1 zE>K`C7pvq{=ejKWaj76e!a;?{ur0Sps-_q>g7_|Cj}IGZ&o@=SIct{wlXxFiS!?Q$ zxaowt9!Et*8O3K?5A=wk@R68K^wzxbaTOB%=s)dMr1Fqe#QO7HT0Z^K=RB7`t#4mNZs3RzZBMw7I&-mJxKAy*r6c0Ze(@Nr|CumFoFGCToqz7EeM;bJX9w@`kGXhqs9&ReiUR_NlB?R zNXVl9TVybMPlUvxVZ2s$9Qc)qc*#W-%~~)9goNF~?3l#Tn76#(cXtH&QO#VuMS4jq zt0|&#S+$nw;WmL`jdrr~4j(}*kIii4L9MxnY17W|Z)P`EHf+!#AZcdJEuwJ6YRa=y zwEdg>JJ26+X$6vK<-x9=9^8U(b98Uf9|U zFr40#6uM|^Z-D>^m-0Tee}7bLtjV=&@1mlv8yfZ%c9xbwGoeq%C6X${Gbg$UW`clc z#SZK%!w%y=dbAt?H9Pv9!~J5k@ciWMt&T zTm|b*3yZZhG^oXD0zm{SN=<9(M%04Oys_@yxRON5NLSkbVTyY}#COf4wC3_2RaPRQ zvfs#~K=Bbw^_y=}t=m%B(6B}FnyINAoxZ)bNK9xRZuQKm@*42 z0BGO!!;`zbsHjg=OI%5w3uce;d13SawRG_R2j%=9a}5rGW^93J zcd)Rb-3y^$JjUDXmpLFc?-*enQ!-Ya=l37E-cZc@* zHjw`L$vz7(h_)M_X@iLu{%?RG!$6-1Jhl2|i9Bd?1ZIUUFZ7r>c5Wk3bs#pCP=&l2 zL6E)K#43;;gCVL)t_GC3syU!>t{Vmi*)TVQ# z2I5JUebru#|2|US7oiK;VG+8^0&PHamk0$3DT3d6umNSYgjlBaP!no!FjzfaA=8#L zs8*9Ye;`sl)eVRy{k75TC>cTL1|X57%@1d`Lk($PUYZFu^9>BtP*6~~bSbFq+%5(O zed|C54VgC=M3(0Oo2|i%U61 z+Kg$_CVs^77M`%g#KZ0&qCsq>lY`dDsi`(q5$h4e+>uJx0}E1*+z858q8{ZGAG=>J z6R?!l`SYT>deer_-(BLXWVPc1tJLs5cGOQ%ECf_IzRk&5g4QK%2E8!}^&?)XtQlm~ z`uciqjg$k~LRdlw8t>n~KUeV!<4^jBlCrMXM!h`Y!Dd-`91KO%$Y@}yUYlL=U3ByS zBq{2b>FIV*3QnCm6{!^UYbRX)@#Q`UP~W`1>GX*6(*3yh6{Jeq-3<3dK3B80ADYKYm|r3dhu4wsZwcA^R##=q|K z_7?nc&ui>I0GLCH6pkP&h!PVqag(OxuV25S7Ncbs7j;j-eg)$x^5x|8EqYk~Yag%E zTG3Kn{eFtjCeMO3JlZNr)NEOH6D{c$d}4n|x^7f-UMwFXH2j}E zyGsw!SP4dd;ldNdA#u|_17s2#YJDpN1tE8$!~q{jZMAOpN87=x5sD5I6Vp+C{@uPs zP%1YuGQOtb6U$`1AN%@3 zu$h^K4k`)3!GzCCBWnLjQ`qenubNs1f@Ih%B|(Il-tjMJz&izovVZ@6tWF51`eD{Q zgl1V;*^1Tct{EGz<2WK95J6QVP~P(EAxb&|b>2XFyF+h3MRt)_`h$)%{tX?;5O)$?v5(YdNAmos&SiEwHP;E{>1%_)z(5b$ZOTeYPtUyBx^*kk#~!&LRYgVLzQ)}7InE4c zI?^$Lr_#HI*PTtuen2nzZr#p>(N*u|sJ}!GzGxJM1AkiG|U4=c(v+a$Tyh zwyu_nii(bIjmhc+5R_((2xG)L-^>{;GsX zt+)Q0`)mKL&AtEji~lC^j*zD0b}`V2O)B(^p;9<}go%`cKVh6{3A(dQ=}?Je#>1N$aU@! zY3~#LCs5;DFr^q|5u!<0z+zGA@ztOrL=y;L3TffgseI6fp7P+pKQ7@zg4`EDR8Z`T zy;2(Twf_h>z+@);RJ80+c(J08(5Q&h%uGp0NQjKw7jVvNn?PJx*mkk!zdsqd+YvVp znSCBTx71XNKnPZ#B!on+zr&}2FRA%y!x_+u@7XA?hPnODm@KYcF4vl*n6KC#N!)gMXD~nvOJ+8>Cnc=lVt} zM%<-;doExc#rSJ81!#EM+PTJ!?OD2WDd(c}I4jKU>tEjF{4rgDy*7@~Ou$h92iU1^|g@pxBcf>AOg%}_4eoJp= zE^P2Wq-o!Ai^_{tBqc44=)f&3&Ezhl78f7QThaGV6g7f=XRO+c&CEiDt@=>|%+HLl zOFlnpqJHH{XN+3XT{?C)N!1V6FG3qa3&6KX@APjO<7+$xsDcjlWi(;>${Ldl{GUF3 zy^Y^p;r#hTy9uKGrvJO1zq;R5LtVWtMr{In@iKHNqO)Fbx#8chW&&tBKCc&vL0c04 zv<{1cK6cyToIkH%QgbX3| zzC8BJCBgXj)y%neE{i1M-5)~k^*i((o`BZ^XV0EhiBYXO9GG)jz$x4GkL5$nWn^U3 zQ#Luz!~UyKf-3uANkoIINUp4(@rNcn1Gsd0&+e0oObfHDztY8c6tf^ z04e%^s9KEUcevC4YuVCIjwhoATE@pOp>b?tXb7S6L^V(to-qG3{5x!!;k$J zHP-$YZ2k$bA<7msqx#pP+ls_SaQn-j??S~yeJGOLW{r&$&3lZ}cHKc>y*Ui0T?JM{W6Mpr$^Q zvh{qfA=FJ{2Z#Bni_z7ANd^^%_U)4qxK91@)hk^9p=G8?D^zd{FwFAq%nJCyGHRQQcz%0Pw-re0zXfmnc+1c6A;zm#* z36Z5)H0RB&&Zj=4HVD3m^-R1uDD;D{0t82#`3)|K0e=fFpa#HTPYBEeBSSxOy2;5Zik z2$b-3Xa`wV%Me;B;m>*bPcRi*uzVL_m%~)Q)$fKd*uRmnaS$4Aqu)QDppI6Kjf#s4 z5w*L?8&KN&hoYevw(l(HX?*yAT=y3EGmn>rmDSbb$nb<432G+f6I3^>hjmZ>1I1J1 z55@E0AO)${l;QptLa|rbKq&TKw8lQC&JQLg%nTlB@T9&ac(p59{90w$rEm88M_zXYaZ zj4Tv)hsCXpt$P;Rl#Gkm6}o=O%uI~u`63hRMr-B>TXRL-yvxr)?VMJ%D7Y^pF_ zq0F&KTf+1GJ~A+fs%zJF-44w#V!Qv19enZ~DK0vC8=w9;XJ=>LfS@CW7eJd+RM5jb zW>aO+w$kWNJGy9s7ENamiGs;qjwBy=G&V8O93{wS4>~%I81)ZP85#C)^cCsxHlM{- z**@0WP5<>8@qZ?E3|ZlUDi2Nu8M)T{Z9~?>rZJ$I zKB<^zNAuZPm+4paQSf|aRIshJZi;Kxm{x@WNpq(03Y=J04kh^8t%JwKI9>mwFKfE2 zg`Sp!t~qW~PoqNUuaF|zrACDkPj{?hO~;>B7p)hG+mqd8Un-ObH5JwbIJeHcxj;)x zd-3AMjhu35CjZqkdeB3H{HBR>e~q64TbJx%xy5zk;y#xm~>aH2Q^UcTz8<< z!!2X*-Rn6Vbhw3{87vcX54hrH$KVTqqOb2D)hE)zH01Du?n>P(+Hzb^`ZZ9LxjA(0V<$zw}F1U%i z*hR69IThp$7XDb(#2@gtId}O;InRD(2Ychz%sA3K&|e2R;JmuJ{o+(TWUB$fES2Ogln`DIm~{`RCTwr^?5}%vK6N3(f)A!Y@ zPw`D6;n2(>O~TX(5)5@tJH@{yc5Xw$Hb;Txi#dTG4_%|;HAH%69nloR4Wzc&N5hJm z(ro(MgPA;R1gm#?dOA@ugCyE_-RBG;{Mv-$F*9L!u+3qltf**ip+};N<0o%AO+ktT2q6{HA z6`&3QL#M11omUR7ZZEU;8_`cV3pgr;H_8#D6_R8drUO7_$Db<7L08=Z=QiQXfv-Z( z!K(EA)1o-)5 z)j#adG#W@T#Relb7N#krSj{+;Uj=%e@1KVnohr zv(9|kDDQa9acN-=Qx=8APcqUctDazCti(mD8yak3zJw8a49g{818$`W|3t79yx@-$+(S}rm!4)Yh~rKQHEZi9n^$;s%{oxb??N7~)HtGlht%@a|~!8?yevf9HhYWNSd z=3nmJfB0|}te2o`Fup7=EuKDonl}jz&^D+aGtX(`IOaHD%io}Y)aa-gqoZg#e-yZe3Mn zCVe07Sr4~B#jB7D7TzHF+Jzfa42RT{?>R3epbNpw%pBAG^Kn;~-mPQX8ScNBXYA2e zq{*Q~sCA7}kwcpE*Tu~OohfMMM4{JmcdW> zQ#tq9vu8d&J|91R3>L9b<{4_NLkBYgu!Az5aD0kgP*JhL_a1cY)n>l1x68_o`JQiT zPBpvg%-!A9MZJ=el{L7dqXTA5N0bD>XUuTu3UCh8;a=<~dtbcR`ry^gn>XDhUrvtX zW6TG>DwycvRTFn`aT(1Fw`yis?mKiypP$#`b~}BT;N>IPFU|{Acb#|SzvAxUu~G7?H+yJ6z&;=825Fi+j=ioFN`!PE z8?CLa-5wRS-(C-+0*muA2K!j0{QUiExGT?`lsSL?eCbF&ehNK;&0FBg*LC`Cs0y&7 zpH-WmLK_+W*qGQ@CnqPQFgRL1FKD4xSYBRE=%h|gl$4aZy1G1cr3hRP)dO#}J6n{V zl&X+q_cH!^P1yz&Y`DB%&yPcW(ad*t#xm2y>95Nme|Z0%hMF2J>bq~=>|QeQIJ$ln z4{2?0e|=4jqW#MfUrzb!*RCZze^3H^IKW8Lr@VuLf&yEYd+%OBn_(93g6Q~ogQLFE zyWr-$a+ovX%h#{{y}hsByh%?>BU(6KrS$YYUai}?U zqoiD@_`&R-Xh_dF<^%*V*Z46?Z9P$BvGMg`s%rFUIO(aMukZ2l@*2GJLzu;orZD?O zRd2ry;BE52;Zx^Pu%S7oY|UQws6%)JL4yjq5#lg@*C-t+w!(&Gv=o6~g%L&2~`iiNAkDbhMG4o@M7(T77z{ zt+Xc2;;tumz`;wsNXA@PYlf9Zf)2%EO8Ol-l2nt&%jovJyki08aG@<2kxZDIwo|-Q za&%n46cQ#ux_W!}GSUQ$!F3%XY_*?<=W)Jq&>Kgt4G@d4tMGYJQc}^vyJsv18_r8f zdC=?P%HKcTdH8T0o&diEFUaGz?cChl{QQ3OX!L}LIegVuF7Ft#b(){P+V{5_?-a$39XmdK{=8zvid5sq9TQcszhKT!O=eZz8e^3Xk_olgjEEE2 z(ntDR;uR@!#nRoockkV!Cfn(}jXVKcjhY&B^yTzZ0m?g)ksdbMx!9&2Z)|Mbvu97~ zgwCYs=)3db&n1>>YHC(deuVa)m7NXf4cOMz^nRz57xkS_(6lcw`n`B@{p!`-d^06^ zKBpDCTP`6E7tdLpJh_si3$2F(cYZ$5c3J#@7d0t+OvGk*mwQW&lZL$;Y!Kjzo^LE! z?%cgFf|;0eW2SC)Ej)j|g{jkg(uv*c$n+#=-SvP|?Gp`%VppFi&t z8yoxVSsfhvBQ5Dk4l|~=jy(76J9jr z9zQ=n<5iu!N1l==DrIR%00otAb#>Dt?b>gbi{UbLa&%NZm(PDw8TB2lAN;;5 z+b1QE&9q2%Q>LwopZa2MbDn8c0XH5Nl7IZ8CFQja4-}Pa<#nPPfPn|X`Q7n zWf;)^Mgc4h$Ebzu#$QkBT)K1#P3AXJl`e1gecLs1HiP^|3Km#VF|jd`%&aVy+L3}c zVdVVUm`HbbcXWN=(XTPn&bI#mS1FpxKbH5US1R;7y$oa|-J#s#DstMJZK$trACWiU zBt2r>z|(hpQrqXafaxjOS6QI6RpC;d>DuX0(b1gpAqP^)`95!7n>42!wqe;DGLP%* zgRG3{Kt)DB%nIH3F3HNuigfzstbg^|q+3UhJhj)x3p{p$VqM-QR7LA(Xr8dWY_1Iw zcT(3c`SC;d)-hM@M~tV$oEKCzGy>y+ z8pp!I0+a94^a*AaK0_E&D=RAn9cM?sMJhs)iH(UlYSOf8k%y;TmKmD~`(<*Vp+Ob7 z6M3xI*e&?$yVzLt;c=Uke84^Y!sO)S>*cBN5zp1v@++yfxN>z@gt|=jp7)VHNsZ2M z(BUhm9UUDN6e^(~>!q|L8F(Xqq#Act*VIf+O{JPN*R`y^b?cU;NLgWFAz-1}#H=|D zy>wf9d$}ON^TQE%*?{PM`}T2b=LGRyEv|fd0%=((=&>6kyCG(ZoM%TbYib5RP&8Mx zwM~O18w!`Lt*x{)wNtyT#SQ+ma&o4|#=G35cRj(dBE95WxnOk+8^BBr8!$Rv%v-ls zYXC{6d#iSehy<3Uu_VFoBxKQ@TzNa@k5P~7*xD= z{W_?X5C;c^;)`m=BTrx1G{Go_Qd;#~AwNxq%uqw3TR|uDmMx$b5)RW3vmcT|39K+p zM+N}W?A)<~P1Lq>QgK1c_&T!F9e?~{_y%6RnfVTxIM2sSn-eR;45W<8R&JW+h^@bahggJ@>i9X_%NuOY** zun^}0pyR8L;%CE#4RBIF&ZN~WoEmBt0Nn-V?q$@;d4)4l~aHHIE%%o#R*8=hj_-Ybdjr?=XeExHE! z`ugt%7zJ%db!z%kL8Dz*c=R%4s%jyKa!+u6!YCA)*%cRrUFFxV;&HXl8_B10?VoWv zTx)jxIK`>+z;f{6YNJuo6=WAj@nsB$RlA9ci>s@vTU%RS+xv zE}XaE<>dw4Cpz&_+F;SBFu^sMlFT=1F527MpBYK~3!kFts3923YW2a~+tx3R{G5+h zV6<9Za=Q5Q0v&HH_YlZYsS%5QHCUIZQQd()pUFu}@@mOGR%+f#*)w)GquUYgG zz$qwShebg53pK8%|0#%UHU-7oab{SP$&I)ycx_3`t&xF&=1d#2fJbB5YhqU@-&);~ z0i;{GYSls21Rc!am6<5QKZc;{?Y(w!b!XW7_q=p;-oRX>_*#FT{mrPT(H~_iGqWJ8_T}(kByCaZsuk?a_w<=c(}q| zy{{ni_E1T{y83=S4^{IfK~k~~csm@C5G%*@uSLjU3SuMm%9Gz)xS6DU&MPa|Sq`fl zV$uHx)zVE z)On~n2!+XsJbZ5H*V#7rx|5zmlq@859-TZ_FeJE&4{2uXZCE#S#BegW!ra{a`0?X6 z1*FfNo1B^P4^T1eeE8^*+wI$M`d0qZiLK^}F_WP@MF);_OT)C1i5*rqFjJ(GyHtGykxoG`1<pcxbg&*#f2hNTCeUQ0)Z62oD#*QejjTnaEWdD96=e`024 z8FQAg!Q6rJ_==t~HaB^E$S@vZ`v$`t{=AJWyH8u3xtws5{8C!a}wtS`Egw zTeprwS;F0mii)nJJbwE0YK^h9eb71IKK?9cbiO9|bhsHKAs3;JF)dVCC-&~;MS@ng zDLmVIe~D>kZ0zz2vT;|t5QFuhnga%ToCoTb$GK*s8;z@FJ8QAXjs%a22Jea zy07{9=@}XCea?%4+{&CiTaurDCw*Thss$9(IH6;3btms>mvFT>LjmEewMtBqx^w zI7JwxUQ+QVE2EtJwxyV1cUAijD6+mwNz0%H?vI%Eo55#Wn48Z{ zH=Ff+EG<1J9$I0_Qw}tRUB&~EbuP0H!~zkS==Y#Ap+e$e`AW z<{Pp8Tz9elnlFRjKEcX^<_CB<V%pQpcY1zI8_8augpvp^cGK%0@1eFJ<1k1*eE1OM zQ3ou@0|O2a*+8iE0|8o)C=&gBG;k;dH3w1&Zzmq}>P|2FJh^$2rNwMsUfx@kBm#`C zUw{APK~kmLR&@c|log~r4{3RMpjms0NnndS21Sr^F0$NDQjXVh!ejPSgl=YHVvyX6 z-Tgov1{>5glq*&Ql%bC5{UFwGwpi!^9iODMj*iZmGc+8#czJL3R=xy7+kdX$6b`=- z#ty_06GbjYIzG}}KYxC(?7Lv^_T|eLs3dv@21#3ePawn$jE&F98y=q+iWe@}PY;5F2|Lc-xcIemyOdPHCN5>LKdoHn;DyxH;?4_#POq!7 zj{pTARAUyS*jiN%QFs6TeH2*bK<^jLtN(Z&YC1X{w+^obdCVM`ta zGfpVswjuSqm(9mhbjV+8l1qB`t`Pq7vuBOw#(&yCe#&-8J+{5Dyj=hAu81Iv&=ICF zjQG1OiSnubohAftrD}1Z(81}j5IzI1kPtX8L-s406Cze{P!PN&ds|;@YCXx=kYpea zjO-~3>4ZD|qxF&X=PTV_XesU4 zwd-WQ&$ru?xvP8kym~l3ezTjuTz2+g~NvrUpqm2eP!yg74H)BJvZB+0(H(ds*l4AD^%~i*4E%g*QNSrZ!E8O;1q|b zn3!`iG8jlt{_p|fk<-#bdT_8N!sEn=70rEVl4Ks=)7<+vGB8Na$WStuo>4)n!tlxL zPk(JoE33Yb;60l$2L1GD!sf>o5Xkegl*e13MWLV(+;%zrcAH^QQIX`!8}O;XqM{lu zZ8uA!aQem#9;Y5Y4n3ecQnQHdXxJq8BdB<>m(p)mzm|b~S-QPkw&MuIRnn~B-`8j< zJIq@^)u}l!C|O#F>NF-M2DK5sRM&k~Yfdq_qR)SLCVH3U#yL`PXrOLl!`H8SfZIQr zg}UHG1WAL+79AIdnZv_;d=3-ck6I3fiaES(x)yXd-j$B$W>+EVzO&wl#J>Lit<20g z&f|nVOV6Gg%=)er>T4jm;qWFI@0BZ8B086c%v`Q;F%&RE8~ydgw-fo5)17c>@7l%V zrW$h(ETjATcl2GNbcSbO;t|L`bfmIUwrj;+J5vTpsFa8#RD3L~tg-!1TL{-C_B3*% z$KAV-%mf7m*RhE<)YMFXT<~g~K6$dCxfwp==YByfuNN+_UdQGQ)m^*WL`J3v8)?>Y z3AF@NhP~Ol|8*7N_!dA?CaWO>(~vzy_wKznbSa1lMGy29tRJch>_t^o)!x27%^b&o zMo300RlywBx1#SkPm z$(N&O?K7Uj)SSAS8h`No)#NdYjcMyv@f;i2z{+Z(tIK<{OBxy!>RC|Fl#P+MzI-`J zMdbm=XOMiMoC_ucQCLn|S|MTGO^uCAOm*;AcUu?UT0w`T(>YZp!1bF$GCxp(g#6&+hb@F|mT-@dJ55mYdp@_fsG6AYKXew!hD7icLc zJM9`aYLZ>4zH6pMFL_M60i7!4TGFaMebPk&!JV7Nk%OVs$;#4--Ta+snHVhm zetcf{g26K%gO9kf6Ru1O!;vw~$>dWtTUViuJZjp~VCneDeGSkqeD9eZJ`m>Ha$U54 zR;8WI2&CRC)7_%iv3VNmJS-k3+7}ik`xFffdb*?9-#QePmBr@dXj!QV#i!#k=+9bM zTc4g5V|xrY2PX*os4|JFYx<^oW+48Wamh2YI&8LM_2;^iiCP)6t=`$v`m?%oV~A z4wM1YDi0CUKvRlbGdha9EAF0V;MfJ35BU+fS(I(0#^X*M<^;aBx4S?I<~0(pQ5O}U z5TyLIIGzt5LMZh!RPP)fKE&k7$IEMMY~1ju;5cd$bih%6qfQ$E=%Pcyj#dXstQ3pm z1Cw1v8=)A1#eXd*;A+4`By2b6D8|&*=ec}EN_0k#71Io80f>l*B(YL`3w+YEhqU=x zA}gG*CqOq^8yX7FsaMyI000kZ=RE9JiMz9QGjF^%yF^@UY-_j_U4RJ`53~xPYXj9U z2Ci2RM2U#uBn5u1Vu;-1XCE0KpKCJ`^77?(APZ!AhaX?on3;`~_;ZU0 z3MR19etZ7w>K)}rNUqBqP`@Vc@ea4=nwglCoeSA031I{5IKz4fAk~0lfWX7-(Wc@) zbja(?^RTb0F$Iq46J_PMI)Sh#;oBCEef8iuNU{*}uwW2zaIY`~(*wKd>GQ0QD40Pi zP3vJyTY+VEWx-NHDXhnG5Pgj-G=Whlr9*l})Dt}L`Sa(*;Us`c%wG);52M(3oam zEM4v5MSh(;Qp-~cmRlOIm2_3s*CRQk`1@~;(*7wVBBG+KTpbTAgHrstX9Dhx(<=G+ z=vtTto;`j{zj<>+WF(G(yNE`%^2BX*8d_S6p2x(;n~^s}Y3F~@HHY|c;X*a?{c-BX z6cY`kz}(p%YXO(&n-<5sTs4}bS6;T6TkBG`y%jFvPLFq|nQ3i>R9@>!TE2BEfkf&E z-{6@~dCQglJ(NxK3Jmo1&n&y~T>thCoXQ$y%slA1vxhdT~-)-bY36-4@Vw6r){QB6r{l00RE1|m9+ zbaZs&n%UV|@E{~+&fU8qm8q(!C2nQ^NA7 zqPgg`P9Ea;3-)$=5-=I}g0lwCD=J<=si>4&fyy2S*#Ii`K474^gU!D-Wa+kqTVL+& z-PTXPLF7hspgSb@mduJgi_RaQXblJU95zOdMbG+Znd1jPs4g-{qN{^*JY0Z>lY@Kbuy^zPMp{&Ec_zQ89{eJn_!2->DPtvd(qjWKrQjoBm5`n1^Ea;^| z;X||5j42dNP&0K-qX!RpgqVbYyoKvW^!4@z30qx9g@CG%7(Ri~@#;|=?>8|zns)Q& z8Q`Twtr?EW0ybku9P*Jyr3u4LT-0o3cL&oo5=p^_9E`>QhTR5-hLYaD#|q(@QG0J=V?%v5i?+n5t>})6i)_M{_tK@dc4R|ME+{DQ z%!hZv8Ho*=B^XK)vIj0KZa?`BSQJ&U#)KkH7f#e2VAItzLK3#4c@-6OwcM`#=NYZQ zHQ>z|YRyzpRI~sI0)Ed-Pv@9-p2ibkR22oq>*#hA<8}@XDoRQn`;2CJCQtbPMFhKH zWhHi_!xe~&ewzK{-YD%^%SvMWO#I-3SD-&sEe*yhmt$+nf&zm|5k3mpR_TVs9w6qHh66iUjIdC`;$F8GCtx;{mVMAr=ewU7kjm=a? zXFDI=0Uv2cCnwN=s4C(@mc|hGF3?yR75ANF+i9diIzjbC_ zi(H(qhSIGChY>+%QI1u&!uBCr+s~Q94*Jfwj9`UOVreKT>FMi#H5I)ki$x#nEZ8Us zlwjJh!F=q;DYCeut2Z=m63Ou0SH4P*4xK@EO1XM`QZNjH_gq_NEkpGYJ5Z$E92yp9Unh}9@z8#%^ixL`F=eF zWKPkPvasM7(66$K z!Oq^EI6A61)w|WWvKTG`*m2@Px=&86-S5T>-=L1HiAii`rUL{zjxNwHkYzyXeQ$40 z_bl77PdF@M$dzQGbmdC;-LEchWpI{AX6F2F`h@pdYRYr%DyA?mC@WiIK~mg~ZM*&J zQ)xphdd6&V-|qCt%@|oZ#KH0M-Mf2e=x%mBbx=7MrnenF)DwG0Im?2C_&7Ox&~z}S zx^;9Vv78BpwNV!#>)6eW@8)o?=n*(_1ZOBFvC@#JIbH(-4X5V8Vu=d9w-PE`Dg29& zcn0sT{BRUA@5ng%U4=e39d=SU(x~R+@Z*Lf$nD5>g2KXRwMrnp*VcZ(Ha7O4BuP?N z{R>A?Tm*l9wB_&)Zf-MZBY2@X07$&Dk=D%mH)l6nhuV$?o_}@T7Vkgo&@^XbW3+ZuqN(zydi1Uh^$VY0z!9d=ijkFEUJlM+`9$|1}T`6Ih zo=1YmSA!e{>A_%2`UEy%H9-|1juS`Uf?UFPMTEg?oI5KdWQTk^xO)}p8WYNC5YpS#vCOl+4WJh=UU+xJ; za>)8`d89mkRRXa|By|+mS&-9kfen(70fDA~Pjq6MfbL&(6Qy_Q?%YFi-SM0P=Sh=X zpE=F_^v7iXR&*91lu1Lc<9(vBc>2^S=w_&iO&j0e@e3l6XgY|E0_atik-3jOg$%2( zNa-s4iC{~3tf$azkY$u|Nnts^ayp50F#6p))El^^Hc1#I^0 z-%R>O`Fm+PKEsjnrLD~wYz6$u7!#D&DE{)JHxUuwHD=8zkA}A6qtRt1F3WBTwFT`5 zP+emx{Bve>1o1U{1D#k74h}3e&ZhbGLARKiiRC99%f@rz+=06K`Xttsq_9=0zs&IX zNz=+-6pZ*sCX~NFheW!z5p8+muSmxNT?rpH@zu1F04w6Fat~}~zrJ%l`hA)7@pXtp U>E#Y?;%{V5$(@Xo)VckC09T(};s5{u diff --git a/assets/req_sec_histogram3.png b/assets/req_sec_histogram3.png deleted file mode 100644 index b3686129f90bf03ec8686a992e01eb6217b584e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24501 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 diff --git a/run_benchmarks.sh b/run_benchmarks.sh index 6279d593..e2f2f89c 100755 --- a/run_benchmarks.sh +++ b/run_benchmarks.sh @@ -81,7 +81,7 @@ for service in "apollo_server" "caliban" "netflix_dgs" "gqlgen" "tailcall" "asyn cd ../../ elif [ "$service" == "hasura" ]; then bash "graphql/hasura/kill.sh" - fi + fi done bash analyze.sh "${bench1Results[@]}" From 6fea1540f336961fb121ce700baabaf0fffc383c Mon Sep 17 00:00:00 2001 From: Sahil Yeole Date: Sat, 13 Jul 2024 16:47:41 +0530 Subject: [PATCH 10/16] update readme Signed-off-by: Sahil Yeole --- README.md | 38 +++++++++----------------------------- 1 file changed, 9 insertions(+), 29 deletions(-) diff --git a/README.md b/README.md index f54fbbe6..81109c5f 100644 --- a/README.md +++ b/README.md @@ -46,6 +46,15 @@ Get started with the benchmarks: ## Benchmark Results +| Throughput (Higher is better) | Latency (Lower is better) | +|-------:|--------:| +| `{{ posts { id userId title user { id name email }}}}` | +| ![](assets/posts_users_reqs.png) | ![](assets/posts_users_latency.png) | +| `{ posts { title }}` | +| ![](assets/posts_reqs.png) | ![](assets/posts_latency.png) | +| `{greet}` | +| ![](assets/greet_reqs.png) | ![](assets/greet_latency.png) | + | Query | Server | Requests/sec | Latency (ms) | Relative | @@ -80,35 +89,6 @@ Get started with the benchmarks: - - -### 1. `{posts {title body user {name}}}` -#### Throughput (Higher is better) - -![Throughput Histogram](assets/req_sec_histogram1.png) - -#### Latency (Lower is better) - -![Latency Histogram](assets/latency_histogram1.png) - -### 2. `{posts {title body}}` -#### Throughput (Higher is better) - -![Throughput Histogram](assets/req_sec_histogram2.png) - -#### Latency (Lower is better) - -![Latency Histogram](assets/latency_histogram2.png) - -### 3. `{greet}` -#### Throughput (Higher is better) - -![Throughput Histogram](assets/req_sec_histogram3.png) - -#### Latency (Lower is better) - -![Latency Histogram](assets/latency_histogram3.png) - ## Architecture ![Architecture Diagram](assets/architecture.png) From bc550570d3ac4e8b832269f52a7cc05a581a640d Mon Sep 17 00:00:00 2001 From: Sahil Yeole Date: Sat, 13 Jul 2024 16:49:11 +0530 Subject: [PATCH 11/16] update readme Signed-off-by: Sahil Yeole --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index 81109c5f..39fa9659 100644 --- a/README.md +++ b/README.md @@ -7,8 +7,6 @@ Explore and compare the performance of the fastest GraphQL frameworks through ou - [Introduction](#introduction) - [Quick Start](#quick-start) - [Benchmark Results](#benchmark-results) - - [Throughput (Higher is better)](#throughput-higher-is-better) - - [Latency (Lower is better)](#latency-lower-is-better) - [Architecture](#architecture) - [K6](#k6) - [GraphQL](#graphql) From ff2933b4d54f3637fffa00010e79ead4d7cbe4f9 Mon Sep 17 00:00:00 2001 From: Sahil Yeole Date: Sat, 13 Jul 2024 17:02:15 +0530 Subject: [PATCH 12/16] fix panel links Signed-off-by: Sahil Yeole --- run_benchmarks.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/run_benchmarks.sh b/run_benchmarks.sh index e2f2f89c..a278ee9f 100755 --- a/run_benchmarks.sh +++ b/run_benchmarks.sh @@ -97,8 +97,8 @@ if [[ "$UPLOAD_TO_CLOUD" == "true" ]]; then now=$(date -u +"%Y-%m-%dT%H:%M:%S.%3NZ") curl -o assets/posts_users_req.png -H "Authorization: Bearer $GRAFANA_API_KEY" "https://tailcall.grafana.net/render/d-solo/cdqucydulbfggb?tab=queries&from=$from&to=$now&panelId=panel-1&__feature.dashboardSceneSolo&width=1000&height=500&tz=Asia%2FCalcutta" --connect-timeout 120 curl -o assets/posts_users_latency.png -H "Authorization: Bearer $GRAFANA_API_KEY" "https://tailcall.grafana.net/render/d-solo/cdqucydulbfggb?tab=queries&from=$from&to=$now&panelId=panel-2&__feature.dashboardSceneSolo&width=1000&height=500&tz=Asia%2FCalcutta" --connect-timeout 120 - curl -o assets/posts_req.png -H "Authorization: Bearer $GRAFANA_API_KEY" "https://tailcall.grafana.net/render/d-solo/cdqucydulbfggb?tab=queries&from=$from&to=$now&panelId=panel-3&__feature.dashboardSceneSolo&width=1000&height=500&tz=Asia%2FCalcutta" --connect-timeout 120 - curl -o assets/posts_latency.png -H "Authorization: Bearer $GRAFANA_API_KEY" "https://tailcall.grafana.net/render/d-solo/cdqucydulbfggb?tab=queries&from=$from&to=$now&panelId=panel-4&__feature.dashboardSceneSolo&width=1000&height=500&tz=Asia%2FCalcutta" --connect-timeout 120 - curl -o assets/greet_req.png -H "Authorization: Bearer $GRAFANA_API_KEY" "https://tailcall.grafana.net/render/d-solo/cdqucydulbfggb?tab=queries&from=$from&to=$now&panelId=panel-5&__feature.dashboardSceneSolo&width=1000&height=500&tz=Asia%2FCalcutta" --connect-timeout 120 - curl -o assets/greet_latency.png -H "Authorization: Bearer $GRAFANA_API_KEY" "https://tailcall.grafana.net/render/d-solo/cdqucydulbfggb?tab=queries&from=$from&to=$now&panelId=panel-6&__feature.dashboardSceneSolo&width=1000&height=500&tz=Asia%2FCalcutta" --connect-timeout 120 + curl -o assets/posts_req.png -H "Authorization: Bearer $GRAFANA_API_KEY" "https://tailcall.grafana.net/render/d-solo/cdqucydulbfggb?tab=queries&from=$from&to=$now&panelId=panel-5&__feature.dashboardSceneSolo&width=1000&height=500&tz=Asia%2FCalcutta" --connect-timeout 120 + curl -o assets/posts_latency.png -H "Authorization: Bearer $GRAFANA_API_KEY" "https://tailcall.grafana.net/render/d-solo/cdqucydulbfggb?tab=queries&from=$from&to=$now&panelId=panel-6&__feature.dashboardSceneSolo&width=1000&height=500&tz=Asia%2FCalcutta" --connect-timeout 120 + curl -o assets/greet_req.png -H "Authorization: Bearer $GRAFANA_API_KEY" "https://tailcall.grafana.net/render/d-solo/cdqucydulbfggb?tab=queries&from=$from&to=$now&panelId=panel-8&__feature.dashboardSceneSolo&width=1000&height=500&tz=Asia%2FCalcutta" --connect-timeout 120 + curl -o assets/greet_latency.png -H "Authorization: Bearer $GRAFANA_API_KEY" "https://tailcall.grafana.net/render/d-solo/cdqucydulbfggb?tab=queries&from=$from&to=$now&panelId=panel-9&__feature.dashboardSceneSolo&width=1000&height=500&tz=Asia%2FCalcutta" --connect-timeout 120 fi From 02961f40370d663b9f7a46db27b7d94793375180 Mon Sep 17 00:00:00 2001 From: Sahil Yeole <73148455+beelchester@users.noreply.github.com> Date: Sat, 13 Jul 2024 17:05:33 +0530 Subject: [PATCH 13/16] Update README.md --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 39fa9659..8fa7379c 100644 --- a/README.md +++ b/README.md @@ -47,11 +47,11 @@ Get started with the benchmarks: | Throughput (Higher is better) | Latency (Lower is better) | |-------:|--------:| | `{{ posts { id userId title user { id name email }}}}` | -| ![](assets/posts_users_reqs.png) | ![](assets/posts_users_latency.png) | +| ![](assets/posts_users_req.png) | ![](assets/posts_users_latency.png) | | `{ posts { title }}` | -| ![](assets/posts_reqs.png) | ![](assets/posts_latency.png) | +| ![](assets/posts_req.png) | ![](assets/posts_latency.png) | | `{greet}` | -| ![](assets/greet_reqs.png) | ![](assets/greet_latency.png) | +| ![](assets/greet_req.png) | ![](assets/greet_latency.png) | From 68c143f93bfdca8c606e166b0a60b879c1d1ff67 Mon Sep 17 00:00:00 2001 From: Sahil Yeole Date: Sat, 13 Jul 2024 17:12:29 +0530 Subject: [PATCH 14/16] update run_benchmarks.sh Signed-off-by: Sahil Yeole --- run_benchmarks.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/run_benchmarks.sh b/run_benchmarks.sh index a278ee9f..2ca3e15b 100755 --- a/run_benchmarks.sh +++ b/run_benchmarks.sh @@ -39,7 +39,7 @@ function runBenchmark() { fi for bench in "${benchmarks[@]}"; do - local benchmarkScript="wrk/bench.sh" + local benchmarkScript="k6/bench.sh" # Replace / with _ local sanitizedServiceScriptName=$(echo "$serviceScript" | tr '/' '_') From 706703bfd160c3da3a6c18d43ad8bb3fcc958822 Mon Sep 17 00:00:00 2001 From: Sahil Yeole Date: Sat, 13 Jul 2024 18:12:43 +0530 Subject: [PATCH 15/16] update bench.js Signed-off-by: Sahil Yeole --- k6/bench.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/k6/bench.js b/k6/bench.js index 8be09015..d923ea2a 100644 --- a/k6/bench.js +++ b/k6/bench.js @@ -39,7 +39,7 @@ export default function() { } export function handleSummary(data) { - const requestCount = (data.metrics.http_reqs.values.count/duration).toFixed(0); + const requestCount = data.metrics.http_reqs.values.count/duration; const avgLatency = Math.round(data.metrics.http_req_duration.values.avg * 100) / 100; const requestCountMessage = `Requests/sec: ${requestCount}\n`; const latencyMessage = `Latency: ${avgLatency} ms\n`; From dcd2360abff8135acad6ca5ffca230947d3a2a8b Mon Sep 17 00:00:00 2001 From: Sahil Yeole Date: Tue, 23 Jul 2024 22:11:36 +0530 Subject: [PATCH 16/16] fix: ci to run in parallel Signed-off-by: Sahil Yeole --- .github/workflows/bench.yml | 35 ++++++++++++++++++----------------- analyze.sh | 10 ---------- fetch_panels.sh | 9 +++++++++ run_analyze_script.sh | 6 +++++- run_benchmarks.sh | 23 +---------------------- 5 files changed, 33 insertions(+), 50 deletions(-) create mode 100644 fetch_panels.sh diff --git a/.github/workflows/bench.yml b/.github/workflows/bench.yml index de3a8c68..540ffb67 100644 --- a/.github/workflows/bench.yml +++ b/.github/workflows/bench.yml @@ -15,10 +15,6 @@ jobs: if: github.event.head_commit.message != 'Update performance results in README.md' env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - GRAFANA_API_KEY: ${{ secrets.GRAFANA_API_KEY }} - INFLUXDB_TOKEN: ${{ secrets.INFLUXDB_TOKEN }} - INFLUXDB_ORG: ${{ secrets.INFLUXDB_ORG }} - INFLUXDB_URL: ${{ secrets.INFLUXDB_URL }} strategy: matrix: service: @@ -48,19 +44,6 @@ jobs: - name: Setup k6 uses: grafana/setup-k6-action@v1 - - name: Setup influxdb-cli - if: github.event_name == 'push' && github.ref == 'refs/heads/main' - run: | - echo "UPLOAD_TO_CLOUD=true" >> $GITHUB_ENV - mkdir -p influxdb - cd influxdb - wget https://download.influxdata.com/influxdb/releases/influxdb2-client-2.7.5-linux-amd64.tar.gz - tar xvzf influxdb2-client-2.7.5-linux-amd64.tar.gz - cp influx /usr/local/bin/ - influx config create --config-name benchmark --host-url $INFLUXDB_URL --org $INFLUXDB_ORG --token $INFLUXDB_TOKEN --active - cd .. - rm -rf influxdb - - name: Run benchmarks run: | bash ./graphql/${{ matrix.service }}/setup.sh @@ -78,10 +61,28 @@ jobs: analyze: needs: build runs-on: benchmarking-runner + env: + GRAFANA_API_KEY: ${{ secrets.GRAFANA_API_KEY }} + INFLUXDB_TOKEN: ${{ secrets.INFLUXDB_TOKEN }} + INFLUXDB_ORG: ${{ secrets.INFLUXDB_ORG }} + INFLUXDB_URL: ${{ secrets.INFLUXDB_URL }} steps: - name: Checkout (GitHub) uses: actions/checkout@v4 + - name: Setup influxdb-cli + if: github.event_name == 'push' && github.ref == 'refs/heads/main' + run: | + echo "UPLOAD_TO_CLOUD=true" >> $GITHUB_ENV + mkdir -p influxdb + cd influxdb + wget https://download.influxdata.com/influxdb/releases/influxdb2-client-2.7.5-linux-amd64.tar.gz + tar xvzf influxdb2-client-2.7.5-linux-amd64.tar.gz + cp influx /usr/local/bin/ + influx config create --config-name benchmark --host-url $INFLUXDB_URL --org $INFLUXDB_ORG --token $INFLUXDB_TOKEN --active + cd .. + rm -rf influxdb + - name: Download all benchmark results uses: actions/download-artifact@v3 with: diff --git a/analyze.sh b/analyze.sh index 527c2513..172bc49a 100755 --- a/analyze.sh +++ b/analyze.sh @@ -44,16 +44,6 @@ for idx in "${!servers[@]}"; do avgLatencies[${servers[$idx]}]=$(average "${latencyVals[@]}") done -echo "Server Value" >"$reqSecData" -for server in "${servers[@]}"; do - echo "$server ${avgReqSecs[$server]}" >>"$reqSecData" -done - -echo "Server Value" >"$latencyData" -for server in "${servers[@]}"; do - echo "$server ${avgLatencies[$server]}" >>"$latencyData" -done - whichBench=1 if [[ $1 == bench2* ]]; then whichBench=2 diff --git a/fetch_panels.sh b/fetch_panels.sh new file mode 100644 index 00000000..6f391075 --- /dev/null +++ b/fetch_panels.sh @@ -0,0 +1,9 @@ + # Get rendered panels from grafana + from=$(date -u -d "-30 minutes" +"%Y-%m-%dT%H:%M:%S.%3NZ") + now=$(date -u +"%Y-%m-%dT%H:%M:%S.%3NZ") + curl -o assets/posts_users_req.png -H "Authorization: Bearer $GRAFANA_API_KEY" "https://tailcall.grafana.net/render/d-solo/cdqucydulbfggb?tab=queries&from=$from&to=$now&panelId=panel-1&__feature.dashboardSceneSolo&width=1000&height=500&tz=Asia%2FCalcutta" --connect-timeout 120 + curl -o assets/posts_users_latency.png -H "Authorization: Bearer $GRAFANA_API_KEY" "https://tailcall.grafana.net/render/d-solo/cdqucydulbfggb?tab=queries&from=$from&to=$now&panelId=panel-2&__feature.dashboardSceneSolo&width=1000&height=500&tz=Asia%2FCalcutta" --connect-timeout 120 + curl -o assets/posts_req.png -H "Authorization: Bearer $GRAFANA_API_KEY" "https://tailcall.grafana.net/render/d-solo/cdqucydulbfggb?tab=queries&from=$from&to=$now&panelId=panel-5&__feature.dashboardSceneSolo&width=1000&height=500&tz=Asia%2FCalcutta" --connect-timeout 120 + curl -o assets/posts_latency.png -H "Authorization: Bearer $GRAFANA_API_KEY" "https://tailcall.grafana.net/render/d-solo/cdqucydulbfggb?tab=queries&from=$from&to=$now&panelId=panel-6&__feature.dashboardSceneSolo&width=1000&height=500&tz=Asia%2FCalcutta" --connect-timeout 120 + curl -o assets/greet_req.png -H "Authorization: Bearer $GRAFANA_API_KEY" "https://tailcall.grafana.net/render/d-solo/cdqucydulbfggb?tab=queries&from=$from&to=$now&panelId=panel-8&__feature.dashboardSceneSolo&width=1000&height=500&tz=Asia%2FCalcutta" --connect-timeout 120 + curl -o assets/greet_latency.png -H "Authorization: Bearer $GRAFANA_API_KEY" "https://tailcall.grafana.net/render/d-solo/cdqucydulbfggb?tab=queries&from=$from&to=$now&panelId=panel-9&__feature.dashboardSceneSolo&width=1000&height=500&tz=Asia%2FCalcutta" --connect-timeout 120 diff --git a/run_analyze_script.sh b/run_analyze_script.sh index 84f7206a..a133a7c6 100755 --- a/run_analyze_script.sh +++ b/run_analyze_script.sh @@ -33,4 +33,8 @@ for bench in 1 2 3; do # Execute the command echo "Executing: $cmd" eval $cmd -done \ No newline at end of file +done + +if [[ "$UPLOAD_TO_CLOUD" == "true" ]]; then + bash fetch_panels.sh +fi \ No newline at end of file diff --git a/run_benchmarks.sh b/run_benchmarks.sh index bbc74ec2..976df80f 100755 --- a/run_benchmarks.sh +++ b/run_benchmarks.sh @@ -89,9 +89,7 @@ if [[ ! " ${valid_services[@]} " =~ " ${service} " ]]; then exit 1 fi - - -runBenchmark "graphql/${service}/run.sh" +runBenchmark "${service}" if [ "$service" == "apollo_server" ]; then cd graphql/apollo_server/ @@ -99,23 +97,4 @@ if [ "$service" == "apollo_server" ]; then cd ../../ elif [ "$service" == "hasura" ]; then bash "graphql/hasura/kill.sh" -fi - -bash analyze.sh "${bench1Results[@]}" -bash analyze.sh "${bench2Results[@]}" -bash analyze.sh "${bench3Results[@]}" - -if [[ "$UPLOAD_TO_CLOUD" == "true" ]]; then - # Wait for 5 seconds to ensure the results are uploaded to influxdb - sleep 5 - - # Get rendered panels from grafana - from=$(date -u -d "-30 minutes" +"%Y-%m-%dT%H:%M:%S.%3NZ") - now=$(date -u +"%Y-%m-%dT%H:%M:%S.%3NZ") - curl -o assets/posts_users_req.png -H "Authorization: Bearer $GRAFANA_API_KEY" "https://tailcall.grafana.net/render/d-solo/cdqucydulbfggb?tab=queries&from=$from&to=$now&panelId=panel-1&__feature.dashboardSceneSolo&width=1000&height=500&tz=Asia%2FCalcutta" --connect-timeout 120 - curl -o assets/posts_users_latency.png -H "Authorization: Bearer $GRAFANA_API_KEY" "https://tailcall.grafana.net/render/d-solo/cdqucydulbfggb?tab=queries&from=$from&to=$now&panelId=panel-2&__feature.dashboardSceneSolo&width=1000&height=500&tz=Asia%2FCalcutta" --connect-timeout 120 - curl -o assets/posts_req.png -H "Authorization: Bearer $GRAFANA_API_KEY" "https://tailcall.grafana.net/render/d-solo/cdqucydulbfggb?tab=queries&from=$from&to=$now&panelId=panel-5&__feature.dashboardSceneSolo&width=1000&height=500&tz=Asia%2FCalcutta" --connect-timeout 120 - curl -o assets/posts_latency.png -H "Authorization: Bearer $GRAFANA_API_KEY" "https://tailcall.grafana.net/render/d-solo/cdqucydulbfggb?tab=queries&from=$from&to=$now&panelId=panel-6&__feature.dashboardSceneSolo&width=1000&height=500&tz=Asia%2FCalcutta" --connect-timeout 120 - curl -o assets/greet_req.png -H "Authorization: Bearer $GRAFANA_API_KEY" "https://tailcall.grafana.net/render/d-solo/cdqucydulbfggb?tab=queries&from=$from&to=$now&panelId=panel-8&__feature.dashboardSceneSolo&width=1000&height=500&tz=Asia%2FCalcutta" --connect-timeout 120 - curl -o assets/greet_latency.png -H "Authorization: Bearer $GRAFANA_API_KEY" "https://tailcall.grafana.net/render/d-solo/cdqucydulbfggb?tab=queries&from=$from&to=$now&panelId=panel-9&__feature.dashboardSceneSolo&width=1000&height=500&tz=Asia%2FCalcutta" --connect-timeout 120 fi \ No newline at end of file