Größe des Cache für geöffnete Tabelle erhöhen

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 oder cloudsql.viewer.
    Empfehlungen übernehmen Eine der folgenden Rollen: recommender.cloudsqlAdmin, cloudsql.editor oder cloudsql.admin.
    Weitere Informationen zu Rollen finden Sie unter Informationen zu Rollen und IAM-Berechtigungen zuweisen.
  • Enable the Recommender API.

    Enable the 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:

  1. Rufen Sie die Seite Cloud SQL-Instanzen auf.

    Cloud SQL-Instanzen aufrufen

  2. Klicken Sie im Banner "Offene Cache-Empfehlungen erhöhen" auf Alle ansehen.

Oder führen Sie die folgenden Schritte aus:

  1. Rufen Sie den Recommendation Hub auf. Siehe auch Erste Schritte mit dem Recommendation Hub.

    Zum Recommendation Hub

  2. Klicken Sie auf der Karte Cloud SQL-Instanzleistung verbessern auf Alle ansehen.

  3. 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-ID
  • LOCATION: 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:

  1. 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 von table_open_cache erhöht haben, warten Sie 24 Stunden, bevor Sie ihn noch einmal prüfen.

  2. Wenn der Wert von open_tables größer als table_open_cache ist, erhöhen Sie den Wert von table_open_cache auf den Wert von open_tables.

    Informationen zum Aktualisieren eines Datenbank-Flags finden Sie unter Datenbank-Flags konfigurieren.

Nächste Schritte