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

get: Add --range-size to have a random but a defined range pattern #302

Merged
merged 1 commit into from
Jul 11, 2024

Conversation

vadmeste
Copy link
Member

@vadmeste vadmeste commented Mar 6, 2024

--range-size and --range will create GET requests with random offset but with fixed range

pkg/bench/get.go Outdated Show resolved Hide resolved
pkg/bench/get.go Outdated Show resolved Hide resolved
@vadmeste
Copy link
Member Author

vadmeste commented Mar 8, 2024

We can discuss during the next week if we should drop this PR or not @klauspost

@klauspost
Copy link
Collaborator

Lint fix at: #303

cli/get.go Outdated
Comment on lines 46 to 51
cli.StringFlag{
Name: "obj.name",
Usage: "Specify an object name",
},
Copy link
Collaborator

Choose a reason for hiding this comment

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

In terms of keeping this simple - could you explain why this is needed?

It seems like it would break pretty much all scenarios since they upload multiple objects.

Copy link
Member Author

Choose a reason for hiding this comment

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

This is originally written to benchmark server caching, so warp clients will read the same object multiple times, but yeah I think it is better if we make the orchestor warp client to generate a list of objects and share it with other warp clients before starting to benchmark.

Copy link
Collaborator

Choose a reason for hiding this comment

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

The multipart benchmark does this already:

b.ExtraFlags = map[string]string{"_upload-id": b.UploadID, "noprefix": "true"}

Copy link
Collaborator

@klauspost klauspost Mar 25, 2024

Choose a reason for hiding this comment

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

You may want the initiator to create the objects - otherwise they will all be fighting to create it.

Note however that this will invalidate the PUT benchmark. TBH I just think you want to remove this and just have each client upload a few objects.

@harshavardhana
Copy link
Member

is this PR still planned? if not please close.

@klauspost
Copy link
Collaborator

@vadmeste Reach out if you still need it, and I can adjust it as needed.

@harshavardhana
Copy link
Member

we have a customer requirement on this can we finalize this ?

@klauspost
Copy link
Collaborator

What is the point of the single object name?

You can use --objects=1 (which will create one per client) or --list-existing... which will just use whatever is there.

@harshavardhana
Copy link
Member

The requirement is that have a bunch of large objects for example and then you can specify a range warp decides to generate list of range requests that randomly hit these objects and provide results, that's all.

@klauspost
Copy link
Collaborator

@harshavardhana Yes. But not sure why the custom name would be needed for that (and it will break in distributed). To me it seems like it should just be removed from this PR.

--range-size will create a random offset but with a fixed range
@vadmeste vadmeste marked this pull request as ready for review July 11, 2024 12:13
@harshavardhana harshavardhana merged commit c5d1f17 into minio:master Jul 11, 2024
9 checks passed
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.

3 participants