tencent cloud

TencentDB for MySQL

動向とお知らせ
製品アップデート情報一覧
初心者ガイド
製品紹介
製品概要
製品の優位性
適用シナリオ
データベースのアーキテクチャ
タグ編集
製品機能リスト
データベースインスタンス
高可用性(マルチアベイラビリティゾーン)
地域とAvailability Zone
自社研究カーネル
TXSQLカーネル概要
機能系特性
パフォーマンス系特性
セキュリティ系特性
安定性系特性
TXRocksエンジン
購入ガイド
課金概要
購入方法
支払い更新の説明
支払い延滞の説明
返金説明
インスタンス調整の料金の説明
バックアップキャパシティ課金説明
クイックスタート
概要
MySQLインスタンスの作成
操作ガイド
使用制限
操作一覧
インスタンスの管理とメンテナンス
アップグレードインスタンス
拡張インスタンス
データベースプロキシ
データベース管理(DMC)
アカウント管理
パラメータ設定
バックアップとロールバック
データ移行
インターネットとセキュリティ
監視とアラーム
ログセンター
タグ
プラクティスチュートリアル
MySQL利用規約
アプリケーションの自動再接続機能のコンフィグレーション
MySQLマスターインスタンスパラメータの変更影響
MyISAMからInnoDBエンジンへの切り替え制限
TencentDB for MySQLのためのVPC作成
MySQLによるサービス負荷能力の向上
2地域3センターのディザスタリカバリ構築
リード・ライト分離によるTencentDB for MySQLパフォーマンスの拡張
DTSでInnoDBデータをRocksDBに移行します
LAMPスタック上のWebアプリケーションの構築
Drupalウエブサイトの構築
Python言語によるMySQL APIの使用
ホワイトペーパー
パフォーマンス白書
セキュリティ白書
トラブルシューティング
接続に関する問題
性能関連
インスタンスデータの同期遅延
大文字と小文字を区別しない設定に失敗しました
APIドキュメント
History
Introduction
API Category
Instance APIs
Making API Requests
Data Import APIs
Database Proxy APIs
Database Audit APIs
Security APIs
Task APIs
Backup APIs
Account APIs
Rollback APIs
Parameter APIs
Database APIs
Monitoring APIs
Log-related API
Data Types
Error Codes
よくある質問
課金関連
ロールバック関連の問題
接続とログインに関する問題
パラメータを変更
アップグレード関連の問題
アカウント権限
性能メモリ
運営する
データ移行
機能特徴
コンソール関連
ログ関連
API 2.0切り替え 3.0ガイド
Service Agreement
Service Level Agreement
Terms of Service
汎用参考
標準と認証
お問い合わせ
用語集

メモリ使用率が高すぎる

PDF
フォーカスモード
フォントサイズ
最終更新日: 2024-09-20 11:54:12

現象の説明

TencentDB for MySQLに、突発的なメモリの増加が発生し、メモリが解放されずに増加し続ける現象です。具体的なパフォーマンスは、次の図に示すように、インスタンス監視のメモリ使用率監視グラフに表示されます。

突発的な増加の後、または長期的なゆっくりとした増加の過程で、最終的に過度に高いレベル(>96%) に達し、かつ一定範囲内で小幅に変動することによって、カスタマイズされたBasic Cloud Monitorメモリアラームを頻繁に発生させる恐れがあります。

故障リスク

非効率なSQLステートメントまたは不適切なデータベースパラメータ設定により、メモリ使用率が増加することがあります。TencentDB for MySQLの2ノード、3ノードアーキテクチャを使用している場合に、突発的な業務のピークに遭遇すると、クラウドデータベースのメモリのOOM(Out Of Memory)が引き起こされる可能性があります。クラウドデータベースがOOMにより使用できなくなると、マスター/スレーブの切り替えがトリガーされて、マスター/スレーブの切り替え中はサービスが短時間利用できなくなりますが、インスタンスが利用できない時間は、通常60秒を超えることはありません。業務ピーク時にマスター/スレーブの切り替えが発生すると、業務の安定性と連続性に深刻な影響を及ぼす恐れがあります。

解決方法

MySQLのメモリは、globalレベルの共有メモリとsessionレベルのプライベートメモリの2つの部分に大別できます。
共有メモリはインスタンス作成時に割り当てられたメモリ領域で、すべての接続を共有します。
プライベートメモリは、MySQLサーバーへの接続時にシステムによって割り当てられます。 一部の特殊なSQLまたはフィールドタイプにより、単一のスレッドに複数のキャッシュが割り当てられることがあります。OOM異常の発生は、すべて各接続のプライベートメモリに起因しています。データベース接続数を制限し、非効率なSQLを最適化することにより、メモリ使用率が高すぎるというリスクを低減することができます。MySQLのメモリ使用率が引き続き高すぎる場合は、メモリ設定をアップグレードすることで、データベース全体の同時実行性と安定性を向上させることができます。メモリパラメータの詳細な説明については、メモリ割り当て問題 をご参照ください。

処理手順

1. 低速SQLを最適化し、sessionレベルのプライベートメモリの使用量を減少させます。DBbrianによる、低速SQLの分析 が可能です。
2. 業務に影響を与えることなく、無効な長時間の接続を減少させ、プログラム側の接続プール設定を減少させるか、またはプログラム側の同時実行レベルを低下させます。DBbrianによる、リアルタイムセッション情報の確認 が可能です。
3. メモリ使用状況の監視(オプション、MySQL 5.7およびそれ以上のバージョンに適用):performance_schemaのメモリ監視機能を有効にする場合、performance_schemaのメモリ監視機能を有効化するには、performance_schemaを有効化した後、performance_schemaライブラリで、グローバルディメンションのメモリ使用率分析テーブル:memory_summary_global_by_event_nameなど、memory_summaryで始まる名前のメモリ使用状況を確認する必要があります。
4. 最適化完了後の手段:TencentDB for MySQL設定のアップグレード
説明:
アップグレードプロセスは、業務の通常の使用に影響しません。アップグレードが完了すると、秒レベルの瞬断のみで、切り替えが実施されます。業務が再接続メカニズムを備えていることを確認してください。
メモリまたはCPUリソースの不足によって業務の通常運用に影響が出ることを防ぐため、現在のネットワークインスタンス上のリソースに対して合理的なアラームポリシーを設定し、リソース不足の隠れたリスクを事前に発見できるようにしてください。詳細については、アラームポリシー をご参照ください。

ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック