-
Notifications
You must be signed in to change notification settings - Fork 8.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Performance Tests for Login and Home Pages by using Playwright #119681
Performance Tests for Login and Home Pages by using Playwright #119681
Conversation
…ts by using synthetics
@elasticmachine merge upstream |
…hetics-perf-test-login-and-home-page
… github.com:suchcodemuchwow/kibana into 2021-11-25-synthetics-perf-test-login-and-home-page
I'd love to track this PR in the main meta issue |
…hetics-perf-test-login-and-home-page
…hetics-perf-test-login-and-home-page
…-6 to c2-60 change machine types running performance tests
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some minor changes, overall looking good!
… github.com:suchcodemuchwow/kibana into 2021-11-25-synthetics-perf-test-login-and-home-page
@suchcodemuchwow could you guide me to where the results of the performance tests are? |
Hey @suchcodemuchwow Cool stuff! I can see that you start them separately, but ES and Kibana still share the same machine/resources, right? What is the reason to keep ES running longer? |
Hey @dmlemeshko, we wanted to keep ES running and have two phases of kibana tests running. We have 1 WARMUP and 1 TEST phase. We found out that in first (WARMUP) phase we have longer durations compared to subsequent runs. 2,3,4 ... is quite similar and we decided to only have 1 TEST phase. |
Hey @LeeDr, we had bunch of builds in this PR because of experimentation, but below one is the most recent one: |
@LeeDr, @dmlemeshko could you please check my comments. We would like to merge this PR so we can run our daily jobs. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
@elasticmachine merge upstream |
💚 Build Succeeded
Metrics [docs]
History
To update your PR or re-run it, just comment with: |
💔 All backports failed
How to fixRe-run the backport manually:
Questions ?Please refer to the Backport tool documentation |
Friendly reminder: Looks like this PR hasn’t been backported yet. |
Friendly reminder: Looks like this PR hasn’t been backported yet. |
1 similar comment
Friendly reminder: Looks like this PR hasn’t been backported yet. |
…) (#123619) add performance tests for Login and Home pages - [x] Rename and reduce the number of environment variables for performance test CI job - [x] ITERATION_COUNT_ENV => PERF_TEST_COUNT - [x] DISABLE_CACHE, TEST_RUNNER, TEST_THROTTLE_NETWORK removed - [x] Use c2-16 queue for performance tests - [x] Run performance tests by running ES and Kibana separately - [x] Add warmup phase to performance tests (Not reported to APM). APM Label: PERF_TEST_PHASE - [x] Add playwright dependency - [x] Throttle network speed ( downloadThroughput: 750.000 B/s, uploadThroughput: 750.000 B/s, latency: 100 ms ) - [x] Disable cache by using - page.route (‘**’, ….) - [x] Login and Home pages performance tests. (cherry picked from commit eeb5efc) # Conflicts: # x-pack/test/performance/config.playwright.ts
…) (#123620) add performance tests for Login and Home pages - [x] Rename and reduce the number of environment variables for performance test CI job - [x] ITERATION_COUNT_ENV => PERF_TEST_COUNT - [x] DISABLE_CACHE, TEST_RUNNER, TEST_THROTTLE_NETWORK removed - [x] Use c2-16 queue for performance tests - [x] Run performance tests by running ES and Kibana separately - [x] Add warmup phase to performance tests (Not reported to APM). APM Label: PERF_TEST_PHASE - [x] Add playwright dependency - [x] Throttle network speed ( downloadThroughput: 750.000 B/s, uploadThroughput: 750.000 B/s, latency: 100 ms ) - [x] Disable cache by using - page.route (‘**’, ….) - [x] Login and Home pages performance tests. (cherry picked from commit eeb5efc) # Conflicts: # x-pack/test/performance/config.playwright.ts
CABLE_5MBPS: { DOWNLOAD: 5 * kB * sec, UPLOAD: 1 * kB * sec, LATENCY: 0.28 * sec }, | ||
CABLE_8MBPS: { DOWNLOAD: 8 * kB * sec, UPLOAD: 2 * kB * sec, LATENCY: 0.1 * sec }, | ||
WIFI: { DOWNLOAD: 30 * kB * sec, UPLOAD: 15 * kB * sec, LATENCY: 0.002 * sec }, | ||
CLOUD_USER: { DOWNLOAD: 6 * MBps, UPLOAD: 6 * MBps, LATENCY: 0.1 * sec }, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Anyone know why we removed these? I was looking for a way to throttle during a functional test to confirm a loading theory. Seems like this might have worked and I was about to add 3G_SLOW
back. But maybe I shouldn't?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We removed them because they were inaccurate and finding information that accurately describes the speeds used by the browser profiles was really hard, so we punted on it and only worried about the profile that we actually use.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Gotcha. #135103 has the snippet I ended up using instead (to slow a test down enough to fail). Maybe this sort of thing would be better as a helper rather than webdriver-init-time setting 🤔
This PR aims to experiment different libraries, tools and options for performance test environment which we aim to see stable results in each CI build.