TiProxy のトラブルシューティング

このドキュメントでは、TiProxy の一般的な問題、原因、および解決策について説明します。

TiProxyに接続できません

次の手順に従って、問題をトラブルシューティングできます。

  1. コネクタバージョンがサポートされているかどうかを確認します。コネクタがリストにない場合は、コネクタが認証プラグインをサポートしているかどうかを確認します。
  2. クライアントがNo available TiDB instances, please make sure TiDB is available報告する場合は、TiDBサーバーが存在するかどうか、および TiDBサーバーの SQL ポートと HTTP ステータス ポートに正常に接続できるかどうかを確認します。
  3. クライアントがRequire TLS enabled on TiProxy when require-backend-tls=true報告する場合は、TiProxy が TLS 証明書で正しく構成されているかどうかを確認します。
  4. クライアントがVerify TiDB capability failed, please upgrade TiDB報告する場合は、TiDBサーバーのバージョンが v6.5.0 以降であるかどうかを確認します。
  5. クライアントがTiProxy fails to connect to TiDB, please make sure TiDB is available報告した場合は、 TiProxy ノードが TiDBサーバーに接続できるかどうかを確認します。
  6. クライアントがRequire TLS enabled on TiDB when require-backend-tls=true報告する場合は、TiDB が TLS 証明書で正しく構成されているかどうかを確認します。
  7. クライアントがTiProxy fails to connect to TiDB, please make sure TiDB proxy-protocol is set correctly報告した場合は、 TiProxy でproxy.proxy-protocolが有効になっているかどうか、 TiDBサーバーでproxy-protocol有効になっていないかどうかを確認します。
  8. TiProxy がmax-connectionsに設定され、TiProxy 上の接続数が最大接続制限を超えているかどうかを確認します。
  9. TiProxy ログでエラー メッセージを確認してください。

TiProxyは接続を移行しません

次の手順に従って、問題をトラブルシューティングできます。

  1. TiProxy の制限が満たされていないかどうか。TiProxy ログを確認することでこれをさらに確認できます。
  2. security.session-token-signing-cert security.session-token-signing-key graceful-wait-before-shutdownで正しく構成されているかどうか。

TiDBサーバー上の CPU 使用率の不均衡

次の手順に従って、問題をトラブルシューティングできます。

  1. TiDB サーバー間で CPU 使用率に大きな差があるかどうかを確認します。TiProxy は、TiDB サーバー間で同一の CPU 使用率を保証するものではありません。CPU 使用率の差がクエリのレイテンシーに影響を与えるほど大きい場合にのみ負荷分散実行します。
  2. TiDBサーバーの接続数が徐々にゼロに減少する場合は、他の負荷分散ポリシーの影響を受けている可能性があります。Grafana のSession Migration Reasonsメトリックをチェックして、他のポリシーに基づく移行があるかどうかを確認できます。
  3. TiProxy 構成項目policylocationに設定されているかどうかを確認します。場所に基づく優先順位付けが有効になっている場合、TiProxy は異なる場所間で CPU 使用率を分散しません。
  4. TiProxy のバージョンを確認してください。CPU ベースの負荷分散をサポートするのは、v1.1.0 以降のバージョンのみです。それより前のバージョンでは、最小接続数に基づく負荷分散ポリシーが使用されます。
  5. 上記のいずれの状況にも当てはまらない場合は、接続の移行が失敗した可能性があります。さらにトラブルシューティングするには、 TiProxyは接続を移行しません参照してください。

レイテンシーが大幅に増加

次の手順に従って、問題をトラブルシューティングできます。

  1. Grafana を通じて TiProxy のレイテンシーを確認します。TiProxy のレイテンシーが高くない場合は、クライアントの負荷が高いか、クライアントと TiProxy 間のネットワークレイテンシーが高いことを意味します。
  2. Grafana を使用して TiDBサーバーのレイテンシーを確認します。TiDBサーバーのレイテンシーが高い場合は、 遅延が大幅に増加するの手順に従ってトラブルシューティングを行います。
  3. Grafana でTiProxyとTiDBサーバー間のネットワーク継続時間確認します。
  4. TiProxy の CPU 使用率を確認します。CPU 使用率が 90% を超える場合は、TiProxy をスケールアウトする必要があります。

このページは役に立ちましたか?