Skip to content

Commit

Permalink
Merge branch 'main' into update-actions-versions
Browse files Browse the repository at this point in the history
  • Loading branch information
berroar authored Jul 9, 2024
2 parents b64c00c + 92e5ada commit 252a373
Show file tree
Hide file tree
Showing 19 changed files with 5,197 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Method,Name,Error,Occurrences

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
Percentile Averages:
50th: 67ms
90th: 108ms
95th: 146ms
99th: 253ms
99.9th: 400ms
---
GETs (99th): 267ms
POSTs (99th): 238ms
---
Total Requests: 86,409
Total Failures: 0
Error Percentage: 0.0%
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Method,Name,Error,Occurrences

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
Percentile Averages:
50th: 66ms
90th: 107ms
95th: 145ms
99th: 262ms
99.9th: 458ms
---
GETs (99th): 274ms
POSTs (99th): 248ms
---
Total Requests: 86,023
Total Failures: 0
Error Percentage: 0.0%
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Method,Name,Error,Occurrences
GET,/questionnaire/sections/calculated-summary-section/{id}/,CatchResponseError('Expected a (200) but got a (0) back when getting page: /questionnaire/sections/calculated-summary-section/cERcgg/'),1
GET,/questionnaire/sections/section-companies/,CatchResponseError('Expected a (200) but got a (0) back when getting page: /questionnaire/sections/section-companies/'),1

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
Percentile Averages:
50th: 68ms
90th: 108ms
95th: 144ms
99th: 258ms
99.9th: 512ms
---
GETs (99th): 265ms
POSTs (99th): 251ms
---
Total Requests: 86,370
Total Failures: 2
Error Percentage: 0.0%
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Method,Name,Error,Occurrences

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
Percentile Averages:
50th: 65ms
90th: 106ms
95th: 145ms
99th: 257ms
99.9th: 432ms
---
GETs (99th): 261ms
POSTs (99th): 252ms
---
Total Requests: 86,308
Total Failures: 0
Error Percentage: 0.0%
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# Enable HTML minification investigation

Minification of HTML was previously turned off due to performance issues before the Census. We need to investigate the
impact of re-enabling it in Runner.

Following on from a recent investigation of enabling HTML minification in Runner, we concluded that re-enabling
minification did not have any adverse affects on our
UI.

However, during the spike, we ran a basic performance benchmark to check if there were any performance impacts. We
now need to run a comprehensive performance investigation, to check the impact on our response rates and other key
indicators, such as our CPU usage, when minification is enabled. Enabling minification may have an adverse impact at a
larger scale.

## Runner settings

| Setting | Value |
|---------------|---------|
| Concurrency | 115 |
| Max instances | 3 |
| Min instances | 3 |
| CPU | 4 |
| Memory | 4G |
| Version | v14.3.2 |

## Benchmark profile

Attempted to mimic traffic as closely as possible during a busy period for Runner. To avoid hitting Runner with a lot of
traffic on a 'cold start' against idle instances, the hatch rate was set to 5.

| Option | Value |
|------------------------|---------------------------------------|
| Requests file | requests/test_benchmark_business.json |
| Run time | 20m |
| User wait time minimum | 1s |
| User wait time maximum | 3s |
| Clients | 80 |
| Hatch rate | 5 |

## Results

No errors were present in any of the test runs, so have been excluded from the results

| Metric | Baseline | Investigation 1 | Investigation 2 | Investigation 3 |
|---------------------------------------|----------|-----------------|-----------------|-----------------|
| Questionnaire GETs (99th percentile) | 267ms | 274ms | 265ms | 261ms |
| Questionnaire POSTs (99th percentile) | 238ms | 248ms | 251ms | 252ms |
| Total Requests | 86,409 | 86,023 | 86,370 | 86,308 |
| CPU Usage | 16.93% | 18.61% | 19.59% | 19.79% |
| Memory Usage | 31.98% | 31.51% | 31.80% | 32.12% |

Performance graphs:

* [baseline](outputs/baseline/performance_graph.png)
* [investigation](outputs/investigation/performance_graph.png)

## Observations

* Most noteworthy observation here is the CPU usage. Although it's only ~2% higher, enabling HTML minify seems to have a
consistently higher CPU rate.

* The memory usage was consistent across all baseline and investigation runs, at ~30%

## Decision

Although negligible, enabling minify HTML seems to have a negative impact on CPU. It also doesn't appear to offer
any notable performance improvement

0 comments on commit 252a373

Please sign in to comment.