Skip to content

Add git clone test to GPT

Nailia Iskhakova requested to merge 463-add-git-clone-test into main

What does this MR do?

  • The MR adds initial git_clone performance test with a throughput GIT_CLONE_ENDPOINT_THROUGHPUT = 0.04.
    • Response body should be specifically discarded in this test, otherwise k6 fails due to OOM issue.
    • New git_clone_data setting in Env file.
  • Additionally the MR updates git tests documentation.
  • Bumps GPT version to 2.9.0.

Multiple git clone requests should not affect docker image performance: verified the test behaviour when ran a custom GPT docker image - no silent failures or exceptions were seen.

10k results
 █ Git - Git Clone HTTP

       █ Git - Get Refs List

       █ Git - Git Clone Refs

     data_received..................: 24 GB   329 MB/s
     data_sent......................: 22 kB   299 B/s
     group_duration.................: avg=9034.44ms  min=110.93ms med=11823.18ms max=19771.86ms p(90)=16082.30ms p(95)=17419.26ms
     http_req_blocked...............: avg=3.84ms     min=0.00ms   med=0.01ms     max=32.99ms    p(90)=31.83ms    p(95)=32.43ms
     http_req_connecting............: avg=3.81ms     min=0.00ms   med=0.00ms     max=32.87ms    p(90)=31.73ms    p(95)=32.24ms
     http_req_duration..............: avg=6593.46ms  min=110.63ms med=345.46ms   max=19643.20ms p(90)=14675.82ms p(95)=16402.36ms
       { expected_response:true }...: avg=6593.46ms  min=110.63ms med=345.46ms   max=19643.20ms p(90)=14675.82ms p(95)=16402.36ms
     http_req_failed................: 0.00%   ✓ 0   ✗ 76
     http_req_receiving.............: avg=6253.60ms  min=0.13ms   med=95.95ms    max=19108.94ms p(90)=14053.97ms p(95)=15862.19ms
     http_req_sending...............: avg=0.07ms     min=0.03ms   med=0.05ms     max=0.44ms     p(90)=0.12ms     p(95)=0.15ms
     http_req_tls_handshaking.......: avg=0.00ms     min=0.00ms   med=0.00ms     max=0.00ms     p(90)=0.00ms     p(95)=0.00ms
   ✓ http_req_waiting...............: avg=339.79ms   min=94.42ms  med=251.47ms   max=702.18ms   p(90)=592.56ms   p(95)=636.05ms
   ✓ http_reqs......................: 76      1.059152/s
     iteration_duration.............: avg=13205.90ms min=407.27ms med=13419.05ms max=19771.91ms p(90)=16593.76ms p(95)=17824.64ms
     iterations.....................: 37      0.51564/s
   ✓ successful_requests............: 100.00% ✓ 74  ✗ 0
     vus............................: 1       min=1 max=8
     vus_max........................: 8       min=8 max=8

All k6 tests have finished after 77.17s!

█ Results summary

* Environment:                10k
* Environment Version:        14.3.0-pre `649f624f034`
* Option:                     60s_200rps
* Date:                       2021-09-15
* Run Time:                   1m 17.17s (Start: 21:36:07 UTC, End: 21:37:24 UTC)
* GPT Version:                v2.9.0

NAME      | RPS | RPS RESULT       | TTFB AVG | TTFB P90          | REQ STATUS     | RESULT
----------|-----|------------------|----------|-------------------|----------------|----------------
git_clone | 8/s | 1.06/s (>0.26/s) | 339.79ms | 592.56ms (<800ms) | 100.00% (>99%) | Passed

Related issues

#463 (closed)

Checklist

  • Ensure test data for the new endpoint is representative. We recommend using large data ("edge cases") in performance tests. The impact of optimizations is more visible on the big numbers and large data may expose more performance bottlenecks.
  • Fill in @endpoint, @example_uri, @description, and @gpt_data_version tags with the information regarding the new test.
    • @gpt_data_version should be generally 1 unless you know the test is for data that's in a specific version.
  • Create a bug if the endpoint response time is above the performance main target (200 ms).
    • Specify created issue link under @issue tag.
  • Consider specifying the additional @flags:
    • unsafe - required for Unsafe tests. Ensure that data before and after the test is consistent.
    • search - labels Search related tests.
    • dash_url - labels Web tests with the check if the endpoint path has a dash \ redirect.
Edited by Nailia Iskhakova

Merge request reports