Questions tagged with Performance Insights
Content language: English
Sort by most recent
I have created AWS Aurora Read Replica from RDS PostgreSQL Primary database.
After creating Aurora Read Replica I have enabled Performance Insights for it, once it is enabled I started using Aurora Read Replica connection string in several places of my application.
I was able to see that my application got connected to Aurora Read Replica and all the queries are also getting executed successfully, but while navigating to Performance Insights Tab for Aurora Read Replica I am unable to see anything like Top Users, Top SQL Queries etc.
P.S. I have disabled and re-enabled Performance Insights several times to check weather it resolves the issue or not, but no luck.
I want to check the current cpu utilization in millicore units instead of percentage and the maximum cpu utilization that a pod can allow me (in millicore units). How can I check that?
i have a documentDb with, let's say **mycollection**, ewith docs such as
```
{
"_id" : "id string 1",
"field" : "Fieldvalue"
"obj1" : { "until" : ISODate("2022-12-19T00:00:00Z") },
"obj2" : { "id" : 316524 },
"obj3" : { "status" : "available" },
"data" : { },
},
{
"_id" : "id string 2",
"field" : "Fieldvalue"
"obj1" : { "until" : ISODate("2023-12-19T00:00:00Z"), id: 77, username: "some" },
"obj2" : { "id" : 316524 },
"obj3" : { "status" : "available" },
"data" : { },
},
...
```
and respectively, i have an index
```
db.mycollection.createIndex(
{ "field": 1, "obj1.id": 1, "obj2.id": 1, "obj3.status": 1 },
{ name: "my_special_index" }
)
```
but running
```
db.mycollection.updateMany(
{
$and: [
{ field: "Fieldvalue" },
{ "obj2.id": 24569 },
{ "obj3.status": "available" },
{
$or: [
{ "obj1.until": { $lt: new Date()} },
{ "obj1.id": 77 }
]
}
]
},
{
$set: {
"obj1": { "id": 77, "username": "some", "until": ISODate("2023-12-19T19:51:32.479Z") }
}
}
)
```
it takes **12 seconds**, that is way too much, given the whole collection is ~280k, and the records that match the condition ar 62k
i have tried running explain on the **find()** ( unfortunately, no way to run explain on the updateMany() )
```
db.mycollection.find(
{
$and: [
{ field: "Fieldvalue" },
{ "obj2.id": 24569 },
{ "obj3.status": "available" },
{
$or: [
{ "obj1.until": { $lt: new Date()} },
{ "obj1.id": 77 }
]
}
]
},
).limit(100000).explain("executionStats").executionStats;
```
and i get, what are think is good response
```
{
"executionSuccess" : true,
"executionTimeMillis" : "173.373",
"planningTimeMillis" : "1.064",
"executionStages" : {
"stage" : "SUBSCAN",
"nReturned" : "60163",
"executionTimeMillisEstimate" : "168.929",
"inputStage" : {
"stage" : "LIMIT_SKIP",
"nReturned" : "60163",
"executionTimeMillisEstimate" : "151.908",
"inputStage" : {
"stage" : "IXSCAN",
"nReturned" : "60163",
"executionTimeMillisEstimate" : "147.511",
"indexName" : "my_special_index",
"direction" : "forward"
}
}
}
}
```
i tried adding another index
```
db.mycollection.createIndex(
{ "field": 1, "obj1.id": 1, "obj1.until": -1, "obj2.id": 1, "obj3.status": 1},
{ name: "my_special_index_with_until" }
)
```
but the **find().explain()** still prefers the first index, and **updateMany()** doesn't seem to run any faster
so, my question is, what can i do to improve performance, i would expect these to run very fast
Thanks!
Hi,
I have an application that connects to docDB and start listening to the changestream, but Performance Insights is showing high Database Load the moment we start watching the changestream, like shown above:


I would like to know the best way to read this chart.
Apparently the changestream utilizes all CPUs from the instance, even when the database is idle and not receiving any queries.
Do I need to worry about that high Database Load?
Will enabling and reading the changestream make my database slower in general?
What would be the effects on performance?
AWS docs seen to be lacking on this information.
I have a MariaDB 10.6, RDS t4g.micro instance, however when I go to Modify, there's no Performance Insights section.
According to the documentation here: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.Overview.Engines.html
Under Amazon RDS for MariaDB - The db.t4g.micro and db.t4g.small instance classes require 10.6 and higher.
Since we upgraded our DB cluster from Aurora 2.X to 3.x (MySQL 8), our DB has been slow on some read ops (on read replicas). When we check AWS performance insights, we see many waits related to wait/io/table/sql/handler, which we never had on Aurora 2.X. Does anyone know how to resolve this? Is it related to a configuration?

The query issues issue seems to be intermittent since we can run the same query reasonably quickly under a second) but sometimes, the same query takes forever and reaches MAX_EXECUTION_TIME.


** I've already read almost any article related to this but couldn't find anything useful.
How does AWS ensure that spikes from Amazon.com (e.g. during Black Friday) do not affect performance for other customers? Are there any specific measures in place?
> the --group-identifier is `db.sql.id`. In this example, `my-sql-id `represents a SQL ID retrieved by invoking pi `get-resource-metrics` or `pi describe-dimension-keys`
when I try using `--group-identifier db.sql.id`
I get:
`An error occurred (InvalidArgumentException) when calling the GetDimensionKeyDetails operation: This Key ID is not valid.`
and there is no guidance on what to use from `get-resource-metrics` or `pi describe-dimension-keys`
Can someone provide more information?
Does enabling performance insights on a running mysql rds require restart of the rds instance? After enabling it, will it cause any performance issues?
According to this: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.UsingDashboard.SQLTextSize.html#view-download-text
I should see a way to download the query in question. But I do not see a download button. I only see a copy button which also copies the shown 500 chars.
How do I see the full query? Or see the download button to get it?
Currently, I've noticed there is no real option to view full MySQL statements in Performance Insights.
Download option gives file with the same truncated statement even though the UI shows "To view the full SQL statement, choose Download."
(It also shows "If the SQL statement exceeds 4096 characters, it is truncated" - and in principal only 1024 characters are being shown)
I also enlarged digest max_digest_length / performance_schema_max_digest_length / performance_schema_max_sql_text_length to 50K but alas.
The only workaround is to query performance_schema directly with the SQL Digest ID shown in Performance Insights.
I am using AWS RDS Performance Insights and am trying to establish who and what is generating DB load, when viewing 'Slice By User' I see the expected username of the DB connection cross-referenced with the host I am expecting, but I also see a large amount of load coming from the host generated by a user labelled as 'Unknown'.
I am using SQL Server DB.
Has anyone else experienced this or is able to explain why I would be seeing this behaviour?
Thanks for any help