Yerel Yürütme İçin Uzak Önbellek İsabetlerinde Hata Ayıklama

Sorun bildirin Kaynağı göster

Bu sayfada, önbellekte eksikliklerin yerel yürütme bağlamında nasıl inceleneceği açıklanmaktadır.

Bu sayfada, yerel olarak başarılı bir şekilde derlenen ve uzaktan önbelleğe almayı kullanacak şekilde ayarlanmış bir derleme ve/veya testinizin olduğu ve uzak önbelleğin etkili bir şekilde kullanıldığından emin olmak istediğiniz varsayılır.

Önbellek isabet oranınızı nasıl kontrol edeceğiniz ve iki Bazel çağrısı arasındaki yürütme günlüklerini nasıl karşılaştıracağınıza dair ipuçları için Uzaktan Yürütme İçin Uzak Önbellek İsabetlerinde Hata Ayıklama bölümüne bakın. Bu kılavuzda yer alan her şey, yerel yürütme ile uzaktan önbelleğe alma için de geçerlidir. Ancak yerel ölçekte uygulama bazı ek zorlukları beraberinde getirir.

Önbellek isabet oranınızı kontrol etme

Başarılı uzak önbellek isabetleri, durum satırında Uzaktan Yürütme ile Önbellek İsabeti oranına benzer şekilde görünür.

Bazel çalıştırmanızın standart çıkışında aşağıdakine benzer bir sonuç görürsünüz:

   INFO: 7 processes: 3 remote cache hit, 4 linux-sandbox.

Bu, 7 denemeden 3'ünün uzaktan önbellek isabeti aldığı, 4 işlemde önbellek isabeti olmadığı ve linux-sandbox stratejisi kullanılarak yerel olarak yürütüldüğü anlamına gelir. Yerel önbellek isabetleri bu özete dahil değildir. İşlem sayısı 0 (veya beklenenden düşük bir sayı) alıyorsanız bazel clean komutunu ve ardından derleme/test komutunuzu çalıştırın.

Önbellek isabetleriyle ilgili sorunları giderme

Beklediğiniz önbellek isabet oranını alamıyorsanız aşağıdakileri yapın:

Uzak uç nokta ile başarılı iletişim sağlayın

Derlemenizin uzak önbellek ile başarılı bir şekilde iletişim kurduğundan emin olmak için bu bölümdeki adımları uygulayın.

  1. Çıkışınızda uyarı olup olmadığını kontrol etme

    Uzaktan yürütmede uzak uç noktayla iletişim kurulamaması, derlemenizin başarısız olmasına neden olur. Diğer yandan, önbelleğe alınabilir bir yerel derleme, önbelleğe alınamazsa başarısız olmaz. Bazel çağrınızın çıkışında aşağıdakiler gibi uyarıları kontrol edin:

       WARNING: Error reading from the remote cache:
    

    veya

       WARNING: Error writing to the remote cache:
    

    Bu tür uyarıların ardından, hata ayıklamanıza yardımcı olacak bağlantı sorununu ayrıntılı olarak açıklayan bir hata mesajı gösterilir. Örneğin, uç nokta adının yanlış yazılması ya da kimlik bilgilerinin yanlış belirlenmesi. Bu tür hataları bulup giderin. Gördüğünüz hata mesajı size yeterli bilgi vermiyorsa --verbose_failures eklemeyi deneyin.

  2. Önbellek yazan Bazel çağrılarınızın aynı makinede ve makineler arasında önbellek isabetlerini alabilmesini sağlamak için Uzaktan yürütme için önbellek isabetleriyle ilgili sorunları giderme bölümündeki adımları uygulayın.

  3. Önbellek okuyan Bazel çağrılarınızın önbellek isabetleri alabildiğinden emin olun.

    a. Önbellek okuyan Bazel çağrılarının komut satırı ayarları farklı olacağından, uzak önbellek ile iletişim kurmak için düzgün şekilde ayarlandıklarından emin olun. --remote_cache işaretinin ayarlandığından ve çıkışta uyarı bulunmadığından emin olun.

    b. Önbellek okuyan Bazel çağrılarınızın, önbellek yazan Bazel çağrılarıyla aynı hedefleri derlediğinden emin olun.

    c. Önbellek yazan Bazel çağrınızdan önbellek okuyan Bazel çağrınıza önbelleğe alma işlemi yapılmasını sağlamak için makineler genelinde önbelleğe almayı sağlama ile aynı adımları uygulayın.