Mit dem Cloud SQL-Recommender für eine hohe Anzahl geöffneter Tabellen können Sie Instanzen erkennen, deren Anzahl gleichzeitig geöffneter Tabellen dem Wert table_open_cache
entspricht. Anschließend erhalten Sie Empfehlungen zur Optimierung solcher Instanzen, um die Leistung zu verbessern.
Auf dieser Seite wird beschrieben, wie der Recommender für eine hohe Anzahl geöffneter Tabellen funktioniert und wie Sie ihn verwenden können.
Funktionsweise
MySQL arbeitet mit mehreren Threads und Clients können gleichzeitig eine Abfrage für dieselbe Tabelle aus mehreren Threads ausführen. MySQL kann also Tabellen unabhängig voneinander für jede Sitzung öffnen.
Die Anzahl der gleichzeitig geöffneten Tabellen wird von table_open_cache
verwaltet.
Wenn der Cache voll ist und zusätzliche Tabellen geöffnet werden, schließt MySQL die am längsten nicht verwendete Tabelle. Wenn alle Tabellen im Cache derzeit verwendet werden, erweitert MySQL den Cache vorübergehend und schließt die Tabellen, sobald sie nicht mehr verwendet werden.
Wenn die Anzahl der geöffneten Tabellen den Wert table_open_cache
überschreitet, kann das die Datenbankleistung während einer hohen Arbeitslast beeinträchtigen. Dies liegt daran, dass mehr Threads erstellt werden und Tabellen-Handler die Tabellen häufiger öffnen und schließen müssen.
Der Cloud SQL-Recommender für eine hohe Anzahl geöffneter Tabellen analysiert täglich Messwerte für die Anzahl der geöffneten Tabellen für eine Cloud SQL-MySQL-Instanz. Wenn die Anzahl der geöffneten Tabellen in den letzten 24 Stunden alle zwei Sekunden um 1 erhöht wurde und die Anzahl der geöffneten Tabellen gleich oder größer als der Wert table_open_cache
ist, empfiehlt der Recommender, dass Sie das Flag table_open_cache
anpassen.
Preise
Der Cloud SQL-Recommender für eine hohe Anzahl geöffneter Tabellen befindet sich in der Recommender-Preisstufe Standard.
Hinweis
Bevor Sie Empfehlungen und Informationen aufrufen können, müssen Sie Folgendes tun:
- Prüfen Sie, ob Sie die erforderlichen Rollen haben, um die Berechtigungen zum Aufrufen und Verwenden von Informationen und Empfehlungen zu erhalten.
Tasks Rollen Empfehlungen abrufen Eine der folgenden Rollen: recommender.cloudsqlViewer
odercloudsql.viewer
.Empfehlungen übernehmen Eine der folgenden Rollen: recommender.cloudsqlAdmin
,cloudsql.editor
odercloudsql.admin
. -
Enable the Recommender API.
Empfehlungen zur Instanzleistung auflisten
Sie können die Empfehlungen zur Instanzleistung mit der Google Cloud Console, gcloud CLI
oder der Recommender API auflisten.
Die Empfehlungen zur Verbesserung der Instanzleistung werden nur angezeigt, wenn Ihre Instanzen fast die Leistungsgrenzwerte erreichen.
Console
So listen Sie Empfehlungen zur Instanzleistung mithilfe der Google Cloud Console auf:
Rufen Sie die Seite Cloud SQL-Instanzen auf.
Klicken Sie im Banner "Offene Cache-Empfehlungen erhöhen" auf Alle ansehen.
Oder führen Sie die folgenden Schritte aus:
Rufen Sie den Recommendation Hub auf. Siehe auch Erste Schritte mit dem Recommendation Hub.
Klicken Sie auf der Karte Cloud SQL-Instanzleistung verbessern auf Alle ansehen.
Wählen Sie die Instanzen mit der Empfehlung Cache für geöffnete Tabellen vergrößern aus.
gcloud-CLI
Führen Sie den Befehl gcloud recommender recommendations list
so aus, um Empfehlungen zur Verbesserung der Instanzleistung mithilfe der gcloud CLI
aufzulisten:
gcloud recommender recommendations list \ --project=PROJECT_ID \ --location=LOCATION \ --recommender=google.cloudsql.instance.PerformanceRecommender \ --filter=recommenderSubtype=MYSQL_HIGH_NUMBER_OF_OPEN_TABLES_BEST_PRACTICE
Dabei gilt:
PROJECT_ID
: Ihre Projekt-IDLOCATION
: eine Region, z. B.us-central1
API
Rufen Sie zum Auflisten von Empfehlungen zur Verbesserung der Instanzleistung mithilfe der Recommendations API die Methode recommendations.list
so auf:
GET https://recommender.googleapis.com/v1beta1/projects/PROJECT-ID/locations/LOCATION/recommenders/google.cloudsql.instance.PerformanceRecommender.MySqlHighNumberOfTablesBestPractice/recommendations
Dabei gilt:
PROJECT_ID
: Ihre Projekt-ID.LOCATION
: eine Region, z. B.us-central1
Wenn der Recommender Instanzen erkennt, die eine hohe Anzahl geöffneter Tabellen haben, werden sie in einer Tabelle mit anderen Leistungsempfehlungen aufgelistet. Jede Zeile enthält die Instanz-ID, eine kurze Empfehlung, das Datenbankmodul, den Ort und das Datum der letzten Aktualisierung.
Informationen und detaillierte Empfehlungen anzeigen
Mit der Google Cloud Console, gcloud CLI
oder der Recommender API können Sie Statistiken und detaillierte Empfehlungen zu Instanzen aufrufen, die eine hohe Anzahl an geöffneten Tabellen haben.
Console
Wenn Sie mithilfe der Google Cloud Console Statistiken und detaillierte Empfehlungen zu Instanzen anzeigen möchten, die nahe am Leistungsgrenzwert liegen, klicken Sie auf den Empfehlungslink in der Liste der Instanzen.
gcloud-CLI
Um mit der gcloud CLI
Statistiken und detaillierte Empfehlungen zu Instanzen aufzurufen, die nahe am Leistungsgrenzwert liegen, führen Sie so den Befehlgcloud recommender insights list
aus:
gcloud recommender insights list \ --project=PROJECT_ID \ --location=LOCATION \ --insight-type=google.cloudsql.instance.PerformanceInsight \ --filter=insightSubtype=MYSQL_HIGH_NUMBER_OF_OPEN_TABLES
Dabei gilt:
PROJECT_ID
: Ihre Projekt-ID.LOCATION
: eine Region, z. B.us-central1
API
Um Statistiken und detaillierte Empfehlungen zu Instanzen aufzurufen, die eine hohe Anzahl geöffneter Tabellen haben, rufen Sie mit der Recommendations API so die Methode insights.list
auf:
GET https://recommender.googleapis.com/v1beta1/projects/PROJECT-ID/locations/LOCATION/insightTypes/google.cloudsql.instance.PerformanceRecommender.MySqlHighNumberOfOpenTables/insights
Dabei gilt:
PROJECT_ID
: Ihre Projekt-ID.LOCATION
: eine Region, z. B.us-central1
In der folgenden Tabelle sind die Statistik und die Empfehlung aufgeführt, die der Cloud SQL-Recommender für eine hohe Anzahl geöffneter Tabellen generiert, um Ihnen zu helfen, die Leistung zu verbessern.
Die Untertypen werden in den Ergebnissen von gcloud CLI
und der API angezeigt.
Insight | Empfehlung |
---|---|
Die Anzahl geöffneter Tabellen entspricht dem Flag-Wert table_open_cache .Untertyp: MYSQL_HIGH_NUMBER_OF_OPEN_TABLES
| Erhöhen Sie die Leistung der Cloud SQL-Instanz, indem Sie die Anzahl geöffneter Tabellen reduzieren. Untertyp: MYSQL_HIGH_NUMBER_OF_OPEN_TABLES_BEST_PRACTICE
|
Empfehlungen übernehmen
Sehen Sie sich die Empfehlungen sorgfältig an und führen Sie einen der folgenden Schritte aus:
Klicken Sie zum Ansehen der Instanz auf Instanz aufrufen. Siehe Leistung der Instanz optimieren und folgen Sie den Empfehlungen.
Klicken Sie auf Schließen, um die Empfehlung zu verwerfen, sodass sie ausgegraut ist und grau angezeigt wird.
Klicken Sie auf Abbrechen, um das Feld zu schließen, ohne die Empfehlung zu übernehmen oder zu verwerfen.
Leistung der Instanz optimieren
Führen Sie einen der folgenden Schritte aus, um die Leistung Ihrer Instanz zu optimieren:
Erhöhen Sie den Wert von
table_open_cache
um 500, bis die Empfehlung verschwindet. Die Empfehlung wird täglich aktualisiert. Wenn Sie den Wert vontable_open_cache
erhöht haben, warten Sie 24 Stunden, bevor Sie ihn noch einmal prüfen.Wenn der Wert von
open_tables
größer alstable_open_cache
ist, erhöhen Sie den Wert vontable_open_cache
auf den Wert vonopen_tables
.Informationen zum Aktualisieren eines Datenbank-Flags finden Sie unter Datenbank-Flags konfigurieren.
Nächste Schritte
- Hohe Anzahl von Tabellen verwalten
- Laufwerkverfügbarkeit überwachen
- Inaktive Cloud SQL-Instanzen identifizieren
- Überdimensionierte Cloud SQL-Instanzen reduzieren
- Google Cloud-Recommender ansehen