ডিফল্টভাবে Scrapy অনুরোধ URL-এর ডোমেইন থেকে ডাউনলোড স্লট নির্ধারণ করে। কোনো অনুরোধে HTTP প্রক্সি দিলে সেই URL প্রক্সির হোস্টনেমে বদলে যায় না। তাই ভিন্ন সাইটে যাওয়া অনুরোধ একটি মধ্যস্থতাকারী ভাগ করেও ভিন্ন ভিন্ন স্লট রাখতে পারে।

AutoThrottle পর্যবেক্ষিত ডাউনলোড লেটেন্সি ব্যবহার করে প্রতিটি স্লটের বিলম্ব সমন্বয় করে। প্রতি-ডোমেইন কনকারেন্সি সীমা ও ন্যূনতম ডাউনলোড বিলম্ব এখনও প্রযোজ্য।

অ্যালগরিদম বদলানোর আগে গ্রুপিং যাচাই করুন

একটি কাস্টম মিডলওয়্যার request.meta["download_slot"] নির্ধারণ করে স্বাভাবিক স্লট নির্বাচন অতিক্রম করতে পারে। কিছু প্রক্সি এক্সটেনশন নিজেদের গ্রুপিং ব্যবহার করে। সম্পর্কহীন সাইট একটি থ্রটল ভাগ করছে মনে হলে সেই সেটিংস দেখুন।

বিপরীতে, প্রতিটি প্রক্সির জন্য আলাদা স্লট দিলে একাধিক প্রক্সি একসাথে একই টার্গেটে সংযোগ করতে পারে। এটি ক্রলারের সম্মান করার কথা থাকা সাইট-ব্যাপী সীমা ব্যর্থ করতে পারে। সুরক্ষিত রিসোর্স অনুযায়ী স্লট কী বাছুন।

বিলম্বে আপনি যে পথ ব্যবহার করেছেন তা অন্তর্ভুক্ত

Scrapy অনুরোধ পাঠানো থেকে HTTP হেডার পাওয়া পর্যন্ত লেটেন্সি মাপে। প্রক্সির মধ্য দিয়ে যাওয়া অনুরোধে সেই পর্যবেক্ষণে মধ্যস্থতাকারীর সারি ও ফরওয়ার্ডিং বিলম্ব অন্তর্ভুক্ত হতে পারে। AutoThrottle আলাদা করে কেবল উৎসের প্রক্রিয়াকরণ সময় পায় না।

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

সম্পর্কিত নিবন্ধ