--- id: m36hcolb4vmr7cni0bo6dl9 title: Tf1376 desc: 'Run performance tests on a GAP on TFE architecture' updated: 1672872862303 created: 1672847399502 --- # TF-1376 Card that I am working with: [tf-1376](https://hashicorp.atlassian.net/browse/TF-1376) ## Context > As a TFE stakeholder, I want to validate that there are no performance degradations from the introduction of GAP into TFE so that we maintain the throughput that they have come to expect. ## Discussion - Gather baseline data from a TFE install (v202212-2) - Spin up a TFE Active/Active install that does not leverage GAP on any cloud and run tfe-rungen against that cluster. - Take note of the resource usage in /metrics - Gather TFE with GAP data from a TFE install (v202212-2 + GAP + caching) - Spin up a TFE Active/Active install that **does** leverage GAP on any cloud and run tfe-rungen against that cluster. - Note that the v202212-2 + GAP + caching data is blocked by [Terraform Bundle Caching in Closed](https://hashicorp.atlassian.net/browse/TF-2287) ## Acceptance Criteria - Use the standardized method (tf-rungen) for load tests run against 2 TFE installations for testing job dispatch performance. - Capture and document data around current job dispatch performance, including: - Approximate throughput rate for x number of jobs dispatched - Host performance statistics (memory, CPU, network traffic) - cloud provider dashboard. - Document that demonstrates that run performance is better or comparable to the current architecture. - Find the data that most accurately compares to the test configuration (e.g. Ac/Ac installation in Azure with an in this) [document](https://docs.google.com/spreadsheets/d/1LLov-jQzYuQ1QQkAAP8sOnqkmzbHlhgA6RUzRYZ6gbY/edit#gid=162532602) ## Runs | status | org count | ws count | concurrency | date and time | |--------|-----------|----------|-------------|------------------------------| | ✅ | 20 | 10 | 40 | 2023-01-04T09:25:20.509-0600 | | ✅ | 20 | 10 | 20 | 2023-01-04T09:57:08.904-0600 | | ✅ | 10 | 20 | 40 | 2023-01-04T10:19:49.192-0600 | | ✅ | 20 | 10 | 10 | 2023-01-04T10:34:47.375-0600 | | ✅ | 20 | 10 | 10 | 2023-01-04T10:48:43.626-0600 | | ✅ | 10 | 20 | 40 | 2023-01-04T11:08:34.146-0600 | | ✅ | 10 | 20 | 20 | 2023-01-04T11:23:25.857-0600 | | ✅ | 10 | 20 | 10 | 2023-01-04T11:56:17.458-0600 | | ✅ | 10 | 10 | 40 | 2023-01-04T12:09:08.149-0600 | | ✅ | 10 | 10 | 20 | 2023-01-04T12:23:10.575-0600 | | ✅ | 10 | 10 | 10 | 2023-01-04T12:37:02.522-0600 | ## Runs 2023-01-04 1. `2023-01-04T09:25:20.509-0600 [INFO] tfe-rungen: starting: orgs=20 ws=10 concurrency=40 duration=10m` 2. `2023-01-04T09:57:08.904-0600 [INFO] tfe-rungen: starting: orgs=20 ws=10 concurrency=20 duration=10m` 3. `2023-01-04T10:19:49.192-0600 [INFO] tfe-rungen: starting: orgs=20 ws=10 concurrency=10 duration=10m` 4. `2023-01-04T10:34:47.375-0600 [INFO] tfe-rungen: starting: orgs=10 ws=20 concurrency=40 duration=10m` 5. `2023-01-04T10:48:43.626-0600 [INFO] tfe-rungen: starting: orgs=20 ws=10 concurrency=10 duration=10m` 6. `2023-01-04T11:08:34.146-0600 [INFO] tfe-rungen: starting: orgs=10 ws=20 concurrency=40 duration=10m` 7. `2023-01-04T11:23:25.857-0600 [INFO] tfe-rungen: starting: orgs=10 ws=20 concurrency=20 duration=10m` 8. `2023-01-04T11:56:17.458-0600 [INFO] tfe-rungen: starting: orgs=10 ws=20 concurrency=10 duration=10m` 9. `2023-01-04T12:09:08.149-0600 [INFO] tfe-rungen: starting: orgs=10 ws=10 concurrency=40 duration=10m` 10. `2023-01-04T12:23:10.575-0600 [INFO] tfe-rungen: starting: orgs=10 ws=10 concurrency=20 duration=10m` 11. `2023-01-04T12:37:02.522-0600 [INFO] tfe-rungen: starting: orgs=10 ws=10 concurrency=10 duration=10m` ## All Runs to be completed ```text org count ws count concurrency 1 10 10 10 2 10 10 20 3 10 10 40 4 10 20 10 5 10 20 20 6 10 20 40 7 20 10 10 8 20 10 20 9 20 10 40 ``` ## Second Run 2023-01-04 | status | org count | ws count | concurrency | date and time | |--------|-----------|----------|-------------|------------------------------| | ✅ | 10 | 10 | 10 | 2023-01-04T14:02:01.165-0600 | | ✅ | 10 | 10 | 20 | 2023-01-04T15:18:08.671-0600 | | ✅ | 10 | 10 | 40 | 2023-01-04T15:43:04.083-0600 | | ✅ | 10 | 20 | 10 | 2023-01-04T15:57:37.944-0600 | | ✅ | 10 | 20 | 20 | 2023-01-04T16:16:52.274-0600 | | ✅ | 10 | 20 | 40 | 2023-01-04T16:32:40.620-0600 | | ✅ | 20 | 10 | 10 | 2023-01-04T16:50:20.872-0600 | | ✅ | 20 | 10 | 20 | 2023-01-04T17:08:05.000-0600 | | ✅ | 20 | 10 | 40 | 2023-01-04T17:24:00.000-0600 | | ✅ | 20 | 10 | 20 | 2023-01-04T17:40:00.000-0600 | | ✅ | 20 | 10 | 40 | 2023-01-04T17:56:00.000-0600 | ## Runs #2 2023-01-04 1. `2023-01-04T14:02:01.165-0600 [INFO] tfe-rungen: starting: orgs=10 ws=10 concurrency=10 duration=10m` 2. `2023-01-04T15:18:08.671-0600 [INFO] tfe-rungen: starting: orgs=10 ws=10 concurrency=20 duration=10m` 3. `2023-01-04T15:43:04.083-0600 [INFO] tfe-rungen: starting: orgs=10 ws=10 concurrency=40 duration=10m` 4. `2023-01-04T15:57:37.944-0600 [INFO] tfe-rungen: starting: orgs=20 ws=10 concurrency=10 duration=10m` 5. `2023-01-04T16:16:52.274-0600 [INFO] tfe-rungen: starting: orgs=10 ws=20 concurrency=20 duration=10m` 6. `2023-01-04T16:32:40.620-0600 [INFO] tfe-rungen: starting: orgs=10 ws=20 concurrency=40 duration=10m` 7. `2023-01-04T16:50:20.872-0600 [INFO] tfe-rungen: starting: orgs=20 ws=10 concurrency=10 duration=10m` 8. `2023-01-04T17:40:00.000-0600 [INFO] tfe-rungen: starting: orgs=20 ws=10 concurrency=20 duration=10m]` 9. `2023-01-04T17:56:00.000-0600 [INFO] tfe-rungen: starting: orgs=20 ws=10 concurrency=40 duration=10m`