{"id":18309500,"url":"https://github.com/electrocucaracha/okd","last_synced_at":"2026-05-02T02:38:56.371Z","repository":{"id":78497681,"uuid":"194933769","full_name":"electrocucaracha/okd","owner":"electrocucaracha","description":"Project which deploys a OKD instance to measure QAT performance","archived":false,"fork":false,"pushed_at":"2020-04-09T19:30:12.000Z","size":57,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-15T05:42:05.052Z","etag":null,"topics":["haproxy","k6","openshift-origin","quickassist","vagrant"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/electrocucaracha.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-07-02T20:55:53.000Z","updated_at":"2020-04-09T19:30:15.000Z","dependencies_parsed_at":"2023-02-24T12:30:38.669Z","dependency_job_id":null,"html_url":"https://github.com/electrocucaracha/okd","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/electrocucaracha%2Fokd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/electrocucaracha%2Fokd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/electrocucaracha%2Fokd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/electrocucaracha%2Fokd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/electrocucaracha","download_url":"https://codeload.github.com/electrocucaracha/okd/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248033196,"owners_count":21036754,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["haproxy","k6","openshift-origin","quickassist","vagrant"],"created_at":"2024-11-05T16:11:40.760Z","updated_at":"2026-05-02T02:38:56.324Z","avatar_url":"https://github.com/electrocucaracha.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# QAT enablement on OKD\n\n[![Build Status](https://travis-ci.org/electrocucaracha/okd.png)](https://travis-ci.org/electrocucaracha/okd)\n\nThis project collects the instructions to enable the Intel®\nQuickAssist Technology (QAT) on [Origin community Distribution of\nKubernetes][1]. This technology improves performance by offloading the\nencryption/decryption and compression/decompression operations thereby\nreserving processor cycles for application and control processing.\n\nThis integration improves the response time of the OpenShift Router\ncomponent which is an ingress point that routes external traffic to\nKubernetes Service resources.\n\n## Virtual Machines\n\nThis project uses [Vagrant tool][2] for provisioning Virtual Machines\nautomatically. The *setup.sh* script of the\n[bootstrap-vagrant project][3] contains the Linux instructions to\ninstall dependencies and plugins required for its usage. The following\ninstruction installs Vagrant and Libvirt as Vagrant provider.\n\n    $ curl -fsSL http://bit.ly/initVagrant | PROVIDER=libvirt bash\n\nOnce Vagrant is installed, it's possible to provision an All-in-One\nOKD cluster and measure its performance through the following\ninstruction:\n\n    $ vagrant up\n\nThe provisioning process starts updating the Kernel version using the\npackages provided by the Extra Packages for Enterprise Linux (EPEL)\nproject. Once the Virtual Machine has automatically rebooted with the\nnew Kernel loaded the provisioning process will continue with the\nsetup of the OKD cluster through the usage of the\n[cluster_up.sh](cluster_up.sh). After its execution, the\n[setup.sh](setup.sh) bash script will take place creating components\nrequired by the [Sample Application](nginx-openshift-sample-app.json),\nthe performance benchmarks will be performed on this Nginx App.\nFinally, the [test.sh](test.sh) bash script will run [k6][4] workloads\nto measure the Router's performance.\n\n## Results\n\nThis section shows the results that was taken from the creation of two\nVirtual Machines spawned in the same server. The following table\ncontains the configuration values used during their provisioning\nprocess.\n\n### Non-QAT VM Configuration values\n\n| Environment variable |  Value      |\n|:---------------------|:-----------:|\n| OKD_VAGRANT_CPUS     | 44          |\n| OKD_VAGRANT_MEMORY   | 24576       |\n| OKD_ENABLE_QAT       | false       |\n\n#### K6 output\n\n```bash\n          /\\      |‾‾|  /‾‾/  /‾/   \n     /\\  /  \\     |  |_/  /  / /    \n    /  \\/    \\    |      |  /  ‾‾\\  \n   /          \\   |  |‾\\  \\ | (_) | \n  / __________ \\  |__|  \\__\\ \\___/ .io\n\n  execution: local--------------------------------------------------]   servertor\n     output: -\n     script: k6-config.js\n\n    duration: 20s, iterations: -\n         vus: 10,  max: 10\n\n    init [----------------------------------------------------------] starting\n    ✓ status was 200\n    ✓ transaction time OK\n\n    checks.....................: 100.00% ✓ 20948 ✗ 0   \n    data_received..............: 422 MB  21 MB/s\n    data_sent..................: 6.4 MB  318 kB/s\n    http_req_blocked...........: avg=11.44ms  min=3.81ms   med=10.92ms  max=40.18ms p(90)=14.96ms  p(95)=19.08ms \n    http_req_connecting........: avg=276.87µs min=85.76µs  med=268.5µs  max=4.9ms   p(90)=329.6µs  p(95)=354.35µs\n    http_req_duration..........: avg=7.33ms   min=2.11ms   med=6.61ms   max=29.1ms  p(90)=11.12ms  p(95)=14.05ms \n    http_req_receiving.........: avg=894.35µs min=224.34µs med=653.67µs max=11.4ms  p(90)=1.56ms   p(95)=2.22ms  \n    http_req_sending...........: avg=100.45µs min=20.93µs  med=89.06µs  max=7.52ms  p(90)=129.08µs p(95)=147.94µs\n    http_req_tls_handshaking...: avg=11.02ms  min=3.4ms    med=10.52ms  max=39.44ms p(90)=14.48ms  p(95)=18.62ms \n    http_req_waiting...........: avg=6.34ms   min=1.45ms   med=5.65ms   max=26.36ms p(90)=9.93ms   p(95)=12.39ms \n    http_reqs..................: 10474   523.697242/s\n    iteration_duration.........: avg=19.03ms  min=8.17ms   med=17.58ms  max=52.19ms p(90)=26.15ms  p(95)=31.48ms \n    iterations.................: 10474   523.697242/s\n    vus........................: 10      min=10  max=10\n    vus_max....................: 10      min=10  max=10\n```\n\n### QAT VM configuration values\n\n| Environment variable |  Value      |\n|:---------------------|:-----------:|\n| OKD_VAGRANT_CPUS     | 44          |\n| OKD_VAGRANT_MEMORY   | 24576       |\n| OKD_ENABLE_QAT       | true        |\n\n#### K6 output\n\n```bash\n          /\\      |‾‾|  /‾‾/  /‾/   \n     /\\  /  \\     |  |_/  /  / /    \n    /  \\/    \\    |      |  /  ‾‾\\  \n   /          \\   |  |‾\\  \\ | (_) | \n  / __________ \\  |__|  \\__\\ \\___/ .io\n\n  execution: local--------------------------------------------------]   servertor\n     output: -\n     script: k6-config.js\n\n    duration: 20s, iterations: -\n         vus: 10,  max: 10\n\n    init [----------------------------------------------------------] starting\n    ✓ status was 200\n    ✓ transaction time OK\n\n    checks.....................: 100.00% ✓ 29898 ✗ 0   \n    data_received..............: 602 MB  30 MB/s\n    data_sent..................: 8.6 MB  429 kB/s\n    http_req_blocked...........: avg=8.82ms   min=3.33ms   med=8.59ms   max=39.8ms  p(90)=11.21ms  p(95)=12.12ms \n    http_req_connecting........: avg=605.48µs min=90.87µs  med=532.26µs max=14.67ms p(90)=909.4µs  p(95)=1.18ms  \n    http_req_duration..........: avg=4.17ms   min=1.09ms   med=3.98ms   max=28.76ms p(90)=5.71ms   p(95)=6.42ms  \n    http_req_receiving.........: avg=989.79µs min=163.34µs med=798.9µs  max=17.72ms p(90)=1.74ms   p(95)=2.2ms   \n    http_req_sending...........: avg=122.85µs min=17.19µs  med=83.16µs  max=14.14ms p(90)=181.04µs p(95)=299.39µs\n    http_req_tls_handshaking...: avg=8.05ms   min=2.82ms   med=7.84ms   max=39.05ms p(90)=10.31ms  p(95)=11.19ms \n    http_req_waiting...........: avg=3.06ms   min=683.97µs med=2.92ms   max=25.03ms p(90)=4.43ms   p(95)=5ms     \n    http_reqs..................: 14949   747.443662/s\n    iteration_duration.........: avg=13.3ms   min=5.24ms   med=13.07ms  max=49.68ms p(90)=16.31ms  p(95)=17.59ms \n    iterations.................: 14949   747.443662/s\n    vus........................: 10      min=10  max=10\n    vus_max....................: 10      min=10  max=10\n```\n\nAs we can see the major improvements when the QuickAssit Technology is\nused are on the `http_req_duration`, `http_req_tls_handshaking`,\n`http_req_waiting` and `http_reqs` values. Those fast responses on the\nWeb Application can result in better user experience or increase the\ncapacity to support major number of workloads by server.\n\n## License\n\nApache-2.0\n\n[1]: https://www.okd.io/\n[2]: https://www.vagrantup.com/\n[3]: https://github.com/electrocucaracha/bootstrap-vagrant\n[4]: https://k6.io/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felectrocucaracha%2Fokd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felectrocucaracha%2Fokd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felectrocucaracha%2Fokd/lists"}