このページでは、ローカル環境でのキャッシュミスの調査方法について説明します。 実行されます。
このページでは、正常にビルドされたビルドやテストがあることを前提としています。 リモート キャッシュを使用するように設定されており、 リモートキャッシュが有効に利用されていることがわかります。
キャッシュ ヒット率を確認する方法と実行結果の比較方法に関するヒント 2 つの Bazel 呼び出しの間のログを確認できます。詳しくは、 リモート実行のリモート キャッシュ ヒットのデバッグ このガイドで紹介した内容は、ローカル キャッシュとリモート キャッシュに 実行されます。ただし、ローカル実行にはいくつかの追加の課題があります。
キャッシュ ヒット率の確認
リモート キャッシュ ヒットが成功すると、 Remote でのキャッシュ ヒット率 実行。
Bazel 実行の標準出力に、次のような出力が表示されます。 次のとおりです。
INFO: 7 processes: 3 remote cache hit, 4 linux-sandbox.
つまり、試行された 7 件のアクションのうち 3 件がリモート キャッシュ ヒット、4 件がリモート キャッシュ ヒットに
アクションにキャッシュ ヒットがなく、linux-sandbox
を使用してローカルで実行された
説明します。ローカル キャッシュのヒットはこの概要には含まれません。新しい P-MAX キャンペーンを
0 プロセス(または想定よりも小さい数)の場合は、bazel clean
を実行してから、
使用します。
キャッシュ ヒットのトラブルシューティング
期待するキャッシュ ヒット率が得られない場合は、次の操作を行います。
リモート エンドポイントとの通信が成功していることを確認する
ビルドがリモート キャッシュと正常に通信していることを確認するには、次の手順を実施します。 見てみましょう。
出力に警告がないか確認する
リモート実行では、リモート エンドポイントとの通信に失敗すると失敗します。 使用できます。一方、キャッシュ可能なローカルビルドは、 キャッシュできません。Bazel 呼び出しの出力で、次のような警告がないか確認します。 例:
WARNING: Error reading from the remote cache:
または
WARNING: Error writing to the remote cache:
このような警告の後に、接続の詳細を示すエラー メッセージが表示されます。 たとえば、入力ミスのあるエンドポイント名や 認証情報が誤って設定されています。このようなエラーを見つけて対処します。エラーが 十分な情報が得られない場合は、
--verbose_failures
。リモートのキャッシュ ヒットのトラブルシューティングの手順に沿って操作します。 実行を キャッシュ書き込みの Bazel 呼び出しでキャッシュ ヒットを取得できるようにする 同じマシン上で複数のマシン間で 実行されています
キャッシュ読み取りの Bazel 呼び出しでキャッシュ ヒットを得られることを確認します。
a. キャッシュ読み取りの Bazel 呼び出しではコマンドライン セットが異なるため、 適切に構成されていることを リモートキャッシュと通信します
--remote_cache
フラグが設定されていることを確認する 出力に警告はありません。b. キャッシュ読み取りの Bazel 呼び出しが、 Bazel 呼び出しのキャッシュ書き込み。
c. 同じ手順に沿って、複数のサービス間でキャッシュを マシン キャッシュ書き込みの Bazel 呼び出しから Bazel 呼び出し。