স্থানীয় নির্বাহের জন্য দূরবর্তী ক্যাশে হিটগুলি ডিবাগ করা৷

এই পৃষ্ঠাটি বর্ণনা করে কিভাবে স্থানীয় নির্বাহের প্রসঙ্গে ক্যাশে মিস তদন্ত করতে হয়।

এই পৃষ্ঠাটি অনুমান করে যে আপনার একটি বিল্ড এবং/অথবা পরীক্ষা রয়েছে যা সফলভাবে স্থানীয়ভাবে তৈরি করা হয়েছে এবং দূরবর্তী ক্যাশিং ব্যবহার করার জন্য সেট আপ করা হয়েছে এবং আপনি নিশ্চিত করতে চান যে দূরবর্তী ক্যাশে কার্যকরভাবে ব্যবহার করা হচ্ছে।

কিভাবে আপনার ক্যাশে হিট রেট চেক করবেন এবং কিভাবে দুটি ব্যাজেল ইনভোকেশনের মধ্যে এক্সিকিউশন লগের তুলনা করবেন তার টিপসের জন্য, রিমোট এক্সিকিউশনের জন্য ডিবাগিং রিমোট ক্যাশে হিট দেখুন। সেই নির্দেশিকায় উপস্থাপিত সমস্ত কিছু স্থানীয় নির্বাহের সাথে দূরবর্তী ক্যাশিংয়ের ক্ষেত্রেও প্রযোজ্য। যাইহোক, স্থানীয় সম্পাদন কিছু অতিরিক্ত চ্যালেঞ্জ উপস্থাপন করে।

আপনার ক্যাশে হিট রেট পরীক্ষা করা হচ্ছে

সফল রিমোট ক্যাশে হিটগুলি রিমোট এক্সিকিউশন সহ ক্যাশে হিট হারের মতো স্ট্যাটাস লাইনে প্রদর্শিত হবে।

আপনার Bazel রানের স্ট্যান্ডার্ড আউটপুটে, আপনি নিম্নলিখিত মত কিছু দেখতে পাবেন:

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

এর মানে হল যে 7টি চেষ্টা করা অ্যাকশনের মধ্যে 3টি রিমোট ক্যাশে হিট পেয়েছে এবং 4টি অ্যাকশনে ক্যাশে হিট ছিল না এবং linux-sandbox কৌশল ব্যবহার করে স্থানীয়ভাবে চালানো হয়েছিল। স্থানীয় ক্যাশে হিট এই সারাংশ অন্তর্ভুক্ত করা হয় না. আপনি যদি 0 প্রসেস (অথবা প্রত্যাশিত সংখ্যার চেয়ে কম) পেয়ে থাকেন তবে আপনার বিল্ড/টেস্ট কমান্ড অনুসরণ করে bazel clean চালান।

ক্যাশে হিট সমস্যা সমাধান

আপনি যদি ক্যাশে হিট রেট না পেয়ে থাকেন যা আপনি আশা করছেন, তাহলে নিম্নলিখিতগুলি করুন:

দূরবর্তী প্রান্তের সাথে সফল যোগাযোগ নিশ্চিত করুন

আপনার বিল্ড সফলভাবে দূরবর্তী ক্যাশের সাথে যোগাযোগ করছে তা নিশ্চিত করতে, এই বিভাগে পদক্ষেপগুলি অনুসরণ করুন৷

  1. সতর্কতার জন্য আপনার আউটপুট পরীক্ষা করুন

    রিমোট এক্সিকিউশনের সাথে, রিমোট এন্ডপয়েন্টের সাথে কথা বলতে ব্যর্থ হলে আপনার বিল্ড ব্যর্থ হবে। অন্যদিকে, ক্যাশেযোগ্য স্থানীয় বিল্ড ব্যর্থ হবে না যদি এটি ক্যাশে করতে না পারে। সতর্কতার জন্য আপনার Bazel আহ্বানের আউটপুট পরীক্ষা করুন, যেমন:

       WARNING: Error reading from the remote cache:
    

    বা

       WARNING: Error writing to the remote cache:
    

    এই ধরনের সতর্কতাগুলি কানেকশন সমস্যার বিস্তারিত ত্রুটির বার্তা দ্বারা অনুসরণ করা হবে যা আপনাকে ডিবাগ করতে সাহায্য করবে: উদাহরণস্বরূপ, ভুল টাইপ করা এন্ডপয়েন্ট নাম বা ভুলভাবে শংসাপত্র সেট করা। এই ধরনের কোনো ত্রুটি খুঁজে বের করুন এবং সমাধান করুন। আপনি যে ত্রুটি বার্তাটি দেখছেন তা যদি আপনাকে যথেষ্ট তথ্য না দেয়, তাহলে --verbose_failures যোগ করার চেষ্টা করুন।

  2. আপনার ক্যাশে-রাইটিং Bazel আমন্ত্রণগুলি একই মেশিনে এবং মেশিন জুড়ে ক্যাশে হিট পেতে সক্ষম তা নিশ্চিত করতে দূরবর্তী সম্পাদনের জন্য সমস্যা সমাধানের ক্যাশে হিট থেকে পদক্ষেপগুলি অনুসরণ করুন৷

  3. নিশ্চিত করুন আপনার ক্যাশে রিডিং Bazel আমন্ত্রণগুলি ক্যাশে হিট পেতে পারে৷

    ক যেহেতু ক্যাশে-রিডিং বেজেল ইনভোকেশনে একটি আলাদা কমান্ড-লাইন সেট আপ থাকবে, তাই দূরবর্তী ক্যাশের সাথে যোগাযোগ করার জন্য সেগুলি সঠিকভাবে সেট আপ করা হয়েছে তা নিশ্চিত করার জন্য অতিরিক্ত যত্ন নিন। নিশ্চিত করুন --remote_cache পতাকা সেট করা আছে এবং আউটপুটে কোনো সতর্কতা নেই।

    খ. নিশ্চিত করুন যে আপনার ক্যাশে-রিডিং ব্যাজেল আহ্বানগুলি ক্যাশে-লেখার বেজেল আহ্বানের মতো একই লক্ষ্যগুলি তৈরি করে৷

    গ. আপনার ক্যাশে-রাইটিং Bazel আমন্ত্রণ থেকে আপনার ক্যাশে-রিডিং Bazel আমন্ত্রণে ক্যাশিং নিশ্চিত করতে মেশিন জুড়ে ক্যাশিং নিশ্চিত করতে একই পদক্ষেপগুলি অনুসরণ করুন।