The first step to solving a data performance issue is tracing the slow queries.
OpenSearch support two types of queries:
- Indexing: write queries
- Searching: read queries
You will be able to find out what is your performance bottleneck in the AWS cluster health dashboard. If you will find out that indexing is your bottleneck, you may enable the indexing slow log according to the AWS docs.
If you find out that your bottleneck is the search queries, you may use the following:
Get The list of index:
curl -X PUT "https://YOUR-CLUSTER-NAME.eu-west-1.es.amazonaws.com/_cat/indices?pretty"
Enable the slow log on the relevant indexes:
curl -X PUT "https://YOUR-CLUSTER-NAME.eu-west-1.es.amazonaws.com/YOUR-INDEX-NAME/_settings?pretty" -H 'Content-Type: application/json' -d'
{
"search": {
"slowlog": {
"threshold": {
"query": {
"warn": "15s",
"trace": "750ms",
"debug": "3s",
"info": "10s"
}
},
"level": "TRACE"
}
}
}'
Where query defines the thresholds, and the level the minimal threshold that will be logged to the file.
After enabling the slow query log, you may be able to find the link to the log itself in the AWS cluster logs tab.
Bottom Line
After analyzing the slow log, you may be able to get some light on your performance spots.
Keep Performing,