หน้านี้อธิบายวิธีตรวจสอบการไม่พบแคชในบริบทของอุปกรณ์
หน้านี้จะถือว่าคุณมีบิลด์และ/หรือการทดสอบที่สร้างสำเร็จ ในเครื่องและมีการตั้งค่าเพื่อใช้การแคชระยะไกล ซึ่งคุณอยากให้ แคชระยะไกลถูกใช้งานอย่างมีประสิทธิภาพ
ดูเคล็ดลับเกี่ยวกับวิธีตรวจสอบอัตรา Hit ของแคชและวิธีเปรียบเทียบการดำเนินการ บันทึกระหว่างคำขอ Bazel 2 รายการ โปรดดู การแก้ไขข้อบกพร่อง Hit แคชระยะไกลสำหรับการดำเนินการระยะไกล ทุกอย่างที่แสดงในคำแนะนำดังกล่าวมีผลกับการแคชระยะไกลด้วย อย่างไรก็ตาม การดำเนินการเฉพาะเครื่องอาจมีความท้าทายเพิ่มเติมบางประการ
การตรวจสอบอัตรา Hit ของแคช
การพบแคชระยะไกลที่สำเร็จจะปรากฏในบรรทัดสถานะ คล้ายกับ อัตรา Hit ของแคชด้วยรีโมต การดำเนินการ
ในเอาต์พุตมาตรฐานของการเรียกใช้ Bazel คุณจะเห็นข้อมูลดังนี้ ดังต่อไปนี้:
INFO: 7 processes: 3 remote cache hit, 4 linux-sandbox.
ซึ่งหมายความว่า จากการพยายามดำเนินการ 7 ครั้ง โดย 3 ครั้ง พบแคชระยะไกล และ 4
การดำเนินการไม่มี Hit ของแคชและทำในเครื่องโดยใช้ linux-sandbox
ของคุณ Hit แคชในเครื่องจะไม่รวมอยู่ในสรุปนี้ หากคุณกำลัง
0 กระบวนการ (หรือตัวเลขต่ำกว่าที่คาดไว้) ให้เรียกใช้ bazel clean
ตามด้วย
คำสั่งบิลด์/ทดสอบ
การแก้ปัญหาการพบแคช
หากคุณไม่ได้รับอัตรา Hit ของแคชตามที่คาดไว้ ให้ทำดังนี้
มั่นใจได้ว่าจะสื่อสารกับปลายทางระยะไกลได้สำเร็จ
หากต้องการตรวจสอบว่าบิลด์ของคุณสื่อสารกับแคชระยะไกลได้สำเร็จ โปรดทำตาม ขั้นตอนในส่วนนี้
ตรวจสอบเอาต์พุตเพื่อหาคำเตือน
การดำเนินการจากระยะไกลจะทำให้สื่อสารกับปลายทางระยะไกลไม่สำเร็จ งานสร้างของคุณ ในทางกลับกัน บิลด์ภายในที่แคชได้จะไม่ล้มเหลวหาก ไม่สามารถแคชได้ ตรวจสอบเอาต์พุตของการเรียกใช้ Bazel เพื่อหาคำเตือน เช่น เป็น:
WARNING: Error reading from the remote cache:
หรือ
WARNING: Error writing to the remote cache:
คำเตือนดังกล่าวจะตามด้วยข้อความแสดงข้อผิดพลาดที่ให้รายละเอียดเกี่ยวกับการเชื่อมต่อ ที่น่าจะช่วยคุณแก้ไขข้อบกพร่อง เช่น ชื่อปลายทางพิมพ์ผิด ตั้งค่าข้อมูลรับรองไม่ถูกต้อง ค้นหาและแก้ไขข้อผิดพลาดดังกล่าว หากข้อผิดพลาด ข้อความที่คุณเห็นมีข้อมูลไม่เพียงพอ ให้ลองเพิ่ม
--verbose_failures
ปฏิบัติตามขั้นตอนจากการแก้ปัญหาการเข้าสู่แคชสำหรับรีโมต เพื่อทำการ ตรวจสอบว่าการเรียกใช้ Bazel สำหรับเขียนแคชของคุณรับ Hit จากแคชได้ ทั้งในคอมพิวเตอร์เครื่องเดียวกันและทุกเครื่อง
ตรวจสอบว่าการเรียกใช้ Bazel ที่มีการอ่านแคชอาจได้รับ Hit จากแคช
ก. เนื่องจากการเรียกใช้ Bazel แบบอ่านแคชจะมีชุดบรรทัดคำสั่งที่ต่างออกไป ให้ใช้ความระมัดระวังเพิ่มเติมเพื่อให้แน่ใจว่ามีการตั้งค่าอย่างถูกต้องเพื่อ สื่อสารกับแคชระยะไกล ตรวจสอบว่าได้ตั้งค่าแฟล็ก
--remote_cache
แล้ว และไม่มีคำเตือนในเอาต์พุตข. ตรวจสอบว่าการเรียกใช้ Bazel แบบอ่านแคชสร้างเป้าหมายเดียวกันกับ การเรียกใช้ Bazel ที่เขียนแคช
ค. ทำตามขั้นตอนเดียวกับเพื่อให้แน่ใจว่าการแคชข้าม เครื่อง เพื่อให้แน่ใจว่ามีการแคชจากการเรียกใช้ Bazel ที่เขียนแคชไปยัง การเรียกใช้ Bazel แบบอ่านแคช