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

Clarify latency-vs-service-time FAQ #1133

Merged

Conversation

DaveCTurner
Copy link
Contributor

I found the answer to the FAQ on latency vs service time unclear. It doesn't really define what latency means in throughput-throttled mode, and I'm not sure I fully understand the analogy it uses. I'm opening this to propose some alternative words, based on my interpretation of the previous answer, but I wouldn't be surprised if I'm still misunderstanding the details.

@DaveCTurner DaveCTurner added the :Docs Changes to the documentation label Dec 7, 2020
Copy link
Contributor

@dliappis dliappis left a comment

Choose a reason for hiding this comment

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

Thank you for this clarification! This topic pops up frequently and I think a more engineering/factual explanation wrt how Rally builds the request traffic actually helps.

I left a comment, mostly for discussion; after all I think, for the sake of keeping the explanation simple, we should just stick to target-throughput as done in this PR.

docs/faq.rst Outdated
generate and send the next request. In this mode ``latency`` and
``service_time`` are identical.

* **Throughput-throttled mode**: You may prefer to run benchmarks with a target
Copy link
Contributor

Choose a reason for hiding this comment

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

Internally Rally uses a concept called "Schedule". There are different ways to alter the traffic that Rally generates by issuing requests:

  • target-throughput (in requests/sec)
  • target-interval (inverse of target-throughput i.e. amount of secs to wait per request)
  • use poisson distribution or a custom schedule of your own

As all of those actually end up influencing the schedule that Rally will use to issue requests, I wonder if we should be talking about the schedule here briefly and adjust wording below, e.g. in line 51/52 instead of "according to this target" "according to the schedule".

However ... I think this concept is tricky by itself and by trying to provide a very generic answer (as I suggest) we might be confusing the reader, whereas the description in this PR is easier to understand by using a concrete example (via target throughput). @danielmitterdorfer WDYT?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Ack, thanks for the clarification. I'll try and generify the wording and maybe link to the schedule docs if I can work out how.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I pushed some more generic words in 18ae7f2 which I don't think make it any more complicated.

I tried to work out how to cross-reference the docs on the schedule bit of a track but timed out after a couple of minutes of trying to understand what on earth the Sphinx docs were trying to tell me. A cross-ref on the first occurrence of the word schedule would be very helpful IMO, could someone else push an update that adds one?

Copy link
Member

Choose a reason for hiding this comment

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

could someone else push an update that adds one?

@DaveCTurner I've added one; it's available if you merge the latest master into your branch. You can use it as follows:

:ref:`your custom link text here <track_choose_schedule>`

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thanks @danielmitterdorfer, done in 4f999a7.

@dliappis dliappis added this to the 2.0.3 milestone Dec 7, 2020
danielmitterdorfer added a commit that referenced this pull request Dec 7, 2020
With this commit we add a new label to the section that explains a
schedule in Rally so it can be referenced in other parts of the docs.

Relates #1133
Copy link
Member

@danielmitterdorfer danielmitterdorfer left a comment

Choose a reason for hiding this comment

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

Thanks for doing this! The wording sounds good me.

@danielmitterdorfer danielmitterdorfer added the enhancement Improves the status quo label Dec 7, 2020
@dliappis dliappis self-requested a review December 7, 2020 12:40
Copy link
Contributor

@dliappis dliappis left a comment

Choose a reason for hiding this comment

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

LGTM thank you for this clarification!

@DaveCTurner DaveCTurner merged commit b143899 into elastic:master Dec 7, 2020
@DaveCTurner DaveCTurner deleted the 2020-12-06-latency-service-time-faq branch December 7, 2020 14:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
:Docs Changes to the documentation enhancement Improves the status quo
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants