The underprovisioned instance recommender helps you detect instances that have high CPU and/or memory utilization. It then provides recommendations for how to optimize the instance. This page describes how this recommender works and how to use it.
How it works
When there is high CPU and/or memory utilization detected, you see a recommendation to increase the size of your instance to reduce CPU and/or memory utilization at peak.
Pricing
The underprovisioned instance recommender is in the Standard Recommender pricing tier.
Before you begin
Before you can view recommendations and insights, do the following:
- Ensure that you have the required roles
so that you have permission to view and work with insights and recommendations.
Tasks Roles View recommendations One of these roles: recommender.cloudsqlViewer
orcloudsql.viewer
.Apply recommendations One of these roles: recommender.cloudsqlAdmin
,cloudsql.editor
, orcloudsql.admin
. -
Enable the Recommender API.
List underprovisioned instance recommendations
Console
To list recommendations about underprovisioned instances, follow these steps:
Go to the Cloud SQL Instances page.
Click View all on the resize Cloud SQL instance recommender banner.
Alternatively, follow these steps:
Go to the Recommendation Hub.
For more information, see Getting started with Recommendation Hub.
In the Resize Cloud SQL instances to improve performance card, click View all.
Click the instances with the Resize Cloud SQL instance recommendation.
gcloud
To list recommendations about underprovisioned instances, run the
gcloud recommender recommendations list
command as follows:
gcloud recommender recommendations list \ --project=PROJECT_ID \ --location=LOCATION \ --recommender=google.cloudsql.instance.UnderprovisionedRecommender
Replace the following:
PROJECT_ID
: Your project ID.LOCATION
: A region, such asus-central1
.
API
To list recommendations about underprovisioned instances by using the
Recommendations API, call the
recommendations.list
method as follows:
GET https://recommender.googleapis.com/v1beta1/projects/PROJECT-ID/locations/LOCATION/recommenders/google.cloudsql.instance.UnderprovisionedRecommender/recommendations
Replace the following:
PROJECT_ID
: Your project ID.LOCATION
: A region, such asus-central1
.
If the recommender detects underprovisioned instances, it lists them in a table. Each row shows the instance name, a brief recommendation, the current machine type, the recommended machine type, the location, and the last refresh date.
View insights and detailed recommendations
Console
To view insights and detailed recommendations about an underprovisioned instance by using the Google Cloud console, click the recommendation button in the list of instances.
gcloud
To view insights and detailed recommendations about underprovisioned instances by using gcloud
, run the
gcloud recommender insights list
command as follows:
gcloud recommender insights list \ --project=PROJECT_ID \ --location=LOCATION \ --insight-type=google.cloudsql.instance.INSIGHT_TYPE
Replace the following:
PROJECT_ID
: Your project ID.LOCATION
: A region, such asus-central1
.INSIGHT_TYPE
: The ID of the insight type isUnderprovisionedCpuUsageInsight
,UnderprovisionedMemoryUsageInsight
, orOomProbabilityInsight
, which provide insights about CPU usage, memory, and OOM probability, respectively.
API
To view insights and detailed recommendations about underprovisioned instances by using the
Recommendations API, call the
insights.list
method as follows:
GET https://recommender.googleapis.com/v1beta1/projects/PROJECT-ID/locations/LOCATION/insightTypes/google.cloudsql.instance.INSIGHT_TYPE/insights
Replace the following:
PROJECT_ID
: Your project ID.LOCATION
: A region, such asus-central1
.INSIGHT_TYPE
: The ID of the insight type as `UnderprovisionedCpuUsageInsight
,UnderprovisionedMemoryUsageInsight
, orOomProbabilityInsight
, which provide insights about CPU usage, memory, and OOM probability, respectively.
The following table lists the insights and recommendations that the Cloud SQL
underprovisioned instance recommender might generate to help you avoid bottlenecks from high CPU and memory
usage and minimize the likelihood of out-of-memory events.
The subtypes are visible in the gcloud
and API results.
Insights | Recommendations |
---|---|
Based on the current CPU utilization trends, the instance is flagged as
having high CPU usage. Subtype: HIGH_CPU_UTILIZATION
| Increase CPU size or reduce CPU utilization. Subtype: CHANGE_INSTANCE_SIZE |
Based on the current memory utilization trends, the instance is flagged
as having high memory usage. Subtype: HIGH_MEMORY_UTILIZATION .
| Increase memory size or reduce memory utilization. Subtype: CHANGE_INSTANCE_SIZE |
Based on the current usage trends, the instance is flagged
as being at the risk of incurring future OOM events. Subtype: HIGH_OOM_PROBABILITY .
| Increase memory size or reduce memory utilization. Subtype: CHANGE_INSTANCE_SIZE |
Apply recommendations
Evaluate the recommendations carefully and do any of the following:
To examine the recommendation, click View instance.
A banner appears at the top of the page providing a recommendation.
To dismiss the recommendation so that it's de-emphasized and appears dimmed, click Dismiss.
To close the panel without applying or dismissing the recommendation, click Cancel.
Optimize the performance of your instance
To optimize your instance's performance, do the following:
Edit the instance, if required, to increase the vCPUs or memory. Alternatively, switch to a machine type with more vCPUs and more memory. You don't need to rightsize the instance exactly as recommended. Use your judgement and resize based on how you intend to provision the instance. Keep in mind that the bigger the size, the greater the operational latency.
You can also export these recommendations to BigQuery and then examine them using Looker Studio or Looker.
What's next
- Monitor disk availability
- Reduce idle Cloud SQL instances
- Blog: Maximize your Cloud ROI
- Blog: Do more with less
- Google Cloud recommenders