TiProxy のトラブルシューティング
このドキュメントでは、TiProxy の一般的な問題、原因、および解決策について説明します。
TiProxyに接続できません
次の手順に従って、問題をトラブルシューティングできます。
- コネクタバージョンサポートされているかどうかを確認します。コネクタがリストにない場合は、コネクタが認証プラグインをサポートしているかどうかを確認します。
- クライアントが
No available TiDB instances, please make sure TiDB is available
を報告する場合は、TiDBサーバーが存在するかどうか、および TiDBサーバーの SQL ポートと HTTP ステータス ポートに正常に接続できるかどうかを確認します。 - クライアントが
Require TLS enabled on TiProxy when require-backend-tls=true
を報告する場合は、TiProxy が TLS 証明書で正しく構成されているかどうかを確認します。 - クライアントが
Verify TiDB capability failed, please upgrade TiDB
を報告する場合は、TiDBサーバーのバージョンが v6.5.0 以降であるかどうかを確認します。 - クライアントが
TiProxy fails to connect to TiDB, please make sure TiDB is available
を報告した場合は、 TiProxy ノードが TiDBサーバーに接続できるかどうかを確認します。 - クライアントが
Require TLS enabled on TiDB when require-backend-tls=true
を報告する場合は、TiDB が TLS 証明書で正しく構成されているかどうかを確認します。 - クライアントが
TiProxy fails to connect to TiDB, please make sure TiDB proxy-protocol is set correctly
を報告した場合は、 TiProxy でproxy.proxy-protocol
が有効になっているかどうか、 TiDBサーバーでproxy-protocol
が有効になっていないかどうかを確認します。 - TiProxy が
max-connections
に設定され、TiProxy 上の接続数が最大接続制限を超えているかどうかを確認します。 - TiProxy ログでエラー メッセージを確認してください。
TiProxyは接続を移行しません
次の手順に従って、問題をトラブルシューティングできます。
- TiProxy の制限満たされていないかどうか。TiProxy ログを確認することでこれをさらに確認できます。
security.session-token-signing-cert
security.session-token-signing-key
graceful-wait-before-shutdown
で正しく構成されているかどうか。
TiDBサーバーの CPU 使用率が不均衡
TiDBサーバーの接続数が均等であるかどうかを確認します。均等でない場合は、セクションTiProxyは接続を移行しませんに従ってトラブルシューティングを行います。
接続数がバランスされている場合、一部の接続は CPU 使用率が高く、他の接続は比較的アイドル状態である可能性があります。TiProxy は、実際の負荷ではなく、TiDBサーバー上の接続数に基づいて接続のバランスをとります。
レイテンシーが大幅に増加
次の手順に従って、問題をトラブルシューティングできます。
- Grafana を通じて TiProxy のレイテンシーを確認します。TiProxy のレイテンシーが高くない場合は、クライアントの負荷が高いか、クライアントと TiProxy 間のネットワークレイテンシーが高いことを意味します。
- Grafana を使用して TiDBサーバーのレイテンシーを確認します。TiDBサーバーのレイテンシーが高い場合は、 遅延が大幅に増加する手順に従ってトラブルシューティングを行います。
- Grafana でTiProxyとTiDBサーバー間のネットワーク継続時間確認します。
- TiProxy の CPU 使用率を確認します。CPU 使用率が 90% を超える場合は、TiProxy をスケールアウトする必要があります。