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

Add sequential write benchmark #352

Merged
merged 2 commits into from
Jul 6, 2023
Merged

Conversation

monthonk
Copy link
Contributor

@monthonk monthonk commented Jul 4, 2023

Description of change

Add sequential write benchmark and run it in the CI. I also use this opportunity to refactor the read benchmark into a function.

Tested in my fork repo https://github.com/monthonk/mountpoint-s3/actions/runs/5456145906/jobs/9928563488.

Does this change impact existing behavior?

No


By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and I agree to the terms of the Developer Certificate of Origin (DCO).

Signed-off-by: Monthon Klongklaew <monthonk@amazon.com>
@monthonk monthonk temporarily deployed to PR integration tests July 4, 2023 15:52 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests July 4, 2023 15:52 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests July 4, 2023 15:52 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests July 4, 2023 15:52 — with GitHub Actions Inactive
@monthonk monthonk added the performance PRs to run benchmarks on label Jul 4, 2023
@monthonk monthonk temporarily deployed to PR benchmarks July 4, 2023 16:11 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR benchmarks July 4, 2023 16:11 — with GitHub Actions Inactive
@@ -13,6 +13,8 @@ In general, we run each IO operation for 30 seconds against a 100 GiB file. But

***readdir workload*** - we measure how long it takes to run `ls` command against directories with different size. Each directory has no subdirectory and contains a specific number of files, range from 100 to 100000 files, which we have to create manually using fio then upload them to S3 bucket before running the benchmark. The fio configuration files for creating them can be found at path [mountpoint-s3/scripts/fio/create/](../mountpoint-s3/scripts/fio/create).

***write workload*** - we measure write throughput by using [dd](https://man7.org/linux/man-pages/man1/dd.1.html) command to simulate sequential write workloads.
Copy link
Member

Choose a reason for hiding this comment

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

We plan to move to fio in the future, right? Can you note that here and then, for posterity, also add a comment on the PR about why we're using dd for now?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes, that's right. updated the doc.

Signed-off-by: Monthon Klongklaew <monthonk@amazon.com>
@monthonk monthonk temporarily deployed to PR benchmarks July 6, 2023 10:26 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests July 6, 2023 10:26 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests July 6, 2023 10:26 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR benchmarks July 6, 2023 10:26 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests July 6, 2023 10:26 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests July 6, 2023 10:26 — with GitHub Actions Inactive
@jamesbornholt jamesbornholt merged commit 44763b1 into awslabs:main Jul 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
performance PRs to run benchmarks on
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants