Skip to content
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

[tests-only] [with-benchmarks] Improve k6 #983

Merged
merged 22 commits into from
Dec 3, 2020
Merged

[tests-only] [with-benchmarks] Improve k6 #983

merged 22 commits into from
Dec 3, 2020

Conversation

fschade
Copy link
Contributor

@fschade fschade commented Nov 30, 2020

fixes #1018, #1019

Florian Schade added 5 commits November 27, 2020 23:20
add more env variables
add oidc auth flow
add playbooks for better test reusability
add more api endpoints
update rollup config for test file transpilation
update test folder structure
split api package into smaller chunks
rename OC_OCIS_HOST to OC_HOST to make it more clear that the oc10 api is backward compatible
add oidc cache and respect token lifetime
simplify account retrieval
update README.md
Comment on lines 32 to 38

plays.fileDelete({
credential: authFactory.credential,
userName,
fileName,
});

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@fschade looks like you have added uploadFile, deleteFile inside the default function. doesn't this make the metrics read from the download function a bit unreliable since when VUs are still downloading files some will have already downloaded and started to delete, That means the server is not only doing the downloading but also deleting at the same time.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it does't, this is the reason why its build as a closure...
you can see at the top of the play that there are custom metrics.

We get a detailed output metric for every action.

Copy link
Contributor Author

@fschade fschade Nov 30, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we shouldnt care about the total execution time in most cases.

  • its importand to identify how long one interaction step did take
  • and if we care about total execution time we can integrate a metric that reflects every interaction flow per vu and iteration

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@fschade I totally get your point, but doesn't that make the metrics a bit unreliable,
for eg. let's say we have a test for 100 UVs simultaneously uploading a file,
In this case, I suppose we would want to measure the performance when the server is completely focusing its resources on handling the uploads,
but in our case, we will be measuring when 100 VUs are simultaneously uploading, but also like 37 of them have also started deleting the files.
Sorry I might be misunderstanding something here.

Comment on lines 16 to 28
const fileName = plays.fileUpload({
credential: authFactory.credential,
userName,
asset: defaults.FILE,
});

sleep(1)

plays.fileDelete({
credential: authFactory.credential,
userName,
fileName,
});
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same as above here too

@owncloud owncloud deleted a comment from update-docs bot Dec 1, 2020
@phil-davis phil-davis changed the title Improve k6 [tests-only] Improve k6 Dec 1, 2020
add ability to generate binary files at runtime
restructure package layout
add prettier
add concurrent users upload test
add api and play for users
remove some code smell
move k6 to the after stage
@fschade fschade changed the title [tests-only] Improve k6 [tests-only] [include-performance] Improve k6 Dec 3, 2020
@fschade fschade changed the title [tests-only] [include-performance] Improve k6 [tests-only] [test-performance] Improve k6 Dec 3, 2020
@fschade fschade changed the title [tests-only] [test-performance] Improve k6 [tests-only] [with-benchmark] Improve k6 Dec 3, 2020
@fschade fschade changed the title [tests-only] [with-benchmark] Improve k6 [tests-only] [with-benchmarks] Improve k6 Dec 3, 2020
@fschade fschade changed the title [tests-only] [with-benchmarks] Improve k6 [tests-only] Improve k6 Dec 3, 2020
@fschade fschade changed the title [tests-only] Improve k6 [tests-only] [with-benchmarks] Improve k6 Dec 3, 2020
@fschade fschade requested a review from wkloucek December 3, 2020 12:47
add prettier
integrate concept of runner libs to share tasks
@fschade fschade requested a review from dpakach December 3, 2020 15:09
@wkloucek wkloucek mentioned this pull request Dec 3, 2020
@sonarqubecloud
Copy link

sonarqubecloud bot commented Dec 3, 2020

Kudos, SonarCloud Quality Gate passed!

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

No Coverage information No Coverage information
No Duplication information No Duplication information

Copy link
Contributor

@phil-davis phil-davis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. This provides a range of benchmark combinations. We can easily move forward from this to work out how/where to save benchmark data, compare trends...

Copy link
Contributor

@C0rby C0rby left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 👍

@phil-davis phil-davis merged commit 778242e into master Dec 3, 2020
@delete-merged-branch delete-merged-branch bot deleted the improve-k6 branch December 3, 2020 16:22
ownclouders pushed a commit that referenced this pull request Dec 3, 2020
Merge: ddb4ffb bc362ab
Author: Phil Davis <phil@jankaritech.com>
Date:   Thu Dec 3 22:07:36 2020 +0545

    Merge pull request #983 from owncloud/improve-k6

    [tests-only] [with-benchmarks] Improve k6
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Performace metrics ocis & oc10
5 participants