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-certsecurity.session-token-signing-keygraceful-wait-before-shutdownで正しく構成されているかどうか。
TiDBサーバーの CPU 使用率が不均衡
次の手順に従って、問題をトラブルシューティングできます。
- TiDBサーバー間でCPU使用率に大きな差があるかどうかを確認します。TiProxyは、TiDBサーバー間でCPU使用率が同一であることを保証するものではありません。CPU使用率の差がクエリのレイテンシーに影響を与えるほど大きい場合にのみ、 負荷分散実行します。
- TiDBサーバーの接続数が徐々にゼロに減少する場合、他の負荷分散ポリシーの影響を受けている可能性があります。Grafanaで
Session Migration Reasonsメトリックを確認することで、他のポリシーに基づく移行が発生しているかどうかを確認できます。 - TiProxy 設定項目
policylocationに設定されているかどうかを確認してください。ロケーションベースの優先順位付けが有効になっている場合、TiProxy は異なるロケーション間で CPU 使用率を分散しません。 - TiProxyのバージョンを確認してください。CPUベースの負荷分散はv1.1.0以降のバージョンでのみサポートされます。それ以前のバージョンでは、最小接続数に基づく負荷分散ポリシーが使用されます。
- 上記のいずれの状況にも該当しない場合は、接続の移行が失敗した可能性があります。さらにトラブルシューティングを行うには、 TiProxyは接続を移行しません参照してください。
レイテンシーが大幅に増加
次の手順に従って、問題をトラブルシューティングできます。
- Grafana を使って TiProxy のレイテンシーを確認します。TiProxy のレイテンシーが高くない場合は、クライアントの負荷が高いか、クライアントと TiProxy 間のネットワークレイテンシーが高いことを意味します。
- Grafanaを使用してTiDBサーバーのレイテンシーを確認します。TiDBサーバーのレイテンシーが高い場合は、手順レイテンシーが大幅に増加するに従ってトラブルシューティングを行ってください。
- Grafana を通じてTiProxyとTiDBサーバー間のネットワーク継続時間確認します。
- TiProxyのCPU使用率を確認してください。CPU使用率が90%を超える場合は、TiProxyをスケールアウトする必要があります。