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 "Using search latency monitoring at the coordinator node level" #3261

Open
wants to merge 11 commits into
base: main
Choose a base branch
from

Conversation

Naarcha-AWS
Copy link
Contributor

Description

Adds the Using search latency monitoring at the coordinator node level, written by @dzane17.

Since this is David's first blog, we'll still need to add his community member page to this PR. Will also need to add bio pages for Ankit.

Issues Resolved

Closes #3143

Check List

  • Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the BSD-3-Clause License.

Signed-off-by: Archer <naarcha@amazon.com>
Signed-off-by: Archer <naarcha@amazon.com>
@Naarcha-AWS
Copy link
Contributor Author

Added David but still need to add bios for Ankit and Kunal. Working on gathering that information now.

@jainankitk
Copy link

Thanks @dzane17 & @Naarcha-AWS for putting this together. Looks great, just some minor comments!

@Naarcha-AWS
Copy link
Contributor Author

Thanks for the review @jainankitk. I'll get these updated now.

Signed-off-by: Archer <naarcha@amazon.com>
Signed-off-by: Archer <naarcha@amazon.com>
Signed-off-by: Archer <naarcha@amazon.com>
Signed-off-by: Archer <naarcha@amazon.com>

In OpenSearch, the coordinator node plays a crucial role in search execution by acting as an intermediary between the client and the cluster. When a search request is received, the coordinator node fans the request to data nodes containing the relevant shards. Depending on the type of search, the request undergoes a series of search phases, or types of search operations, initiated by the coordinator node. These phases include the following:

* `can_match`: Pre-filtesr search shards based on query rewrites.

Choose a reason for hiding this comment

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

typo: filters

- title: Members
url: /community/members/index.html
- title: 'David Zaneo&apos;s Profile'
url: '/community/members/davizane.html'
Copy link

Choose a reason for hiding this comment

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

@Naarcha-AWS can we change this url to david-zane.html like others

job_title_and_company: 'AWS Software Engineer'
personas:
- author
permalink: '/community/members/davizane.html'
Copy link

Choose a reason for hiding this comment

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

Same here


However, the ability to monitor search latency in OpenSearch versions earlier than 2.11 is limited. Tools such as the [Nodes Stats API](https://opensearch.org/docs/latest/api-reference/nodes-apis/nodes-stats/) and [shard slow logs](https://opensearch.org/docs/latest/install-and-configure/configuring-opensearch/logs/#shard-slow-logs) offer latency measurements based on shard-level operations but do not provide any visibility at the coordinator node level. Because search requests often hit multiple shards simultaneously, the measured amount of time spent in a single shard search phase doesn't provide comprehensive latency information.

Luckily, in OpenSearch 2.11 and later, OpenSearch offers search latency monitoring at the coordinator node level. This blog post provides information about several tools---the Node Stats API, the `phase_took` parameter, and slow logs---that can help you monitor coordinator-node-level statistics.
Copy link

Choose a reason for hiding this comment

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

Use full name "search request slow logs" so not confused with "shard slow logs"


## The coordinator node and search phases

In OpenSearch, the coordinator node plays a crucial role in search execution by acting as an intermediary between the client and the cluster. When a search request is received, the coordinator node fans the request to data nodes containing the relevant shards. Depending on the type of search, the request undergoes a series of search phases, or types of search operations, initiated by the coordinator node. These phases include the following:
Copy link

Choose a reason for hiding this comment

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

intermediary between the client and the cluster

Coordinator is still part of the cluster. "cluster" should be changed to something like "data nodes"

_posts/2024-09-09-using-search-latency-monitoring.markdown Outdated Show resolved Hide resolved
- search
excerpt:
meta_keywords:
meta_description:
Copy link

Choose a reason for hiding this comment

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

Please add the following meta:

meta_keywords: search latency, OpenSearch cluster, latency monitoring, coordinator node, search performance optimization

meta_description: Explore how enhanced search latency monitoring capabilities at the coordinator node level can help you optimize search performance in your OpenSearch cluster.

Naarcha-AWS and others added 2 commits September 12, 2024 12:25
Signed-off-by: Naarcha-AWS <97990722+Naarcha-AWS@users.noreply.github.com>
Signed-off-by: Archer <naarcha@amazon.com>
Comment on lines 16 to 17
github: uselmh
job_title_and_company: 'Social media specialist for the OpenSearch Project'
Copy link

Choose a reason for hiding this comment

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

@sgup432 wow social media star. Are these correct?

Copy link

Choose a reason for hiding this comment

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

@dzane17 Do you have any doubt? 😁

- davizane
- naarcha
- akjain
- kkhatua
Copy link

Choose a reason for hiding this comment

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

Add upasagar here

Signed-off-by: Archer <naarcha@amazon.com>
Signed-off-by: Archer <naarcha@amazon.com>
Signed-off-by: Naarcha-AWS <97990722+Naarcha-AWS@users.noreply.github.com>
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.

[Blog] New Search Latency Features in OpenSearch
5 participants