স্কুইড ক্যাশে - অংশ 2

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

এখন স্কুইডটি আকর্ষণীয় জিনিসটি হ'ল ক্যাশে (আমার মতে)। আপনি আমাকে বলবেন কেন ক্যাশে? কারণটি সহজ, আপনার গতি এবং ব্যান্ডউইথের ব্যবহার ভালভাবে পরিচালনা করাই প্রধান বিষয়। সাবধানতার সাথে চিন্তা করুন, আপনার সংস্থার 1000 জন লোক প্রতি 5 মিনিটে পরামর্শ দেয়, সাধারণ পৃষ্ঠাগুলি, গুগল, হটমেল, জিমেইল ইত্যাদি ... যাতে আপনি বার বার চিত্র, ব্যানার, বিজ্ঞাপন, এইচটিএমএল সামগ্রী ডাউনলোড করতে যাচ্ছেন, এই সমস্ত স্থির জিনিস, না এগুলি এত ঘন ঘন পরিবর্তিত হয়, সেগুলি আপনার স্থানীয় নেটওয়ার্কে সংরক্ষণ করা ভাল এবং আপনি যে কনফিগারেশনগুলি বিবেচনা করেছেন সেগুলির মধ্যে আপনি সাম্প্রতিক বিবেচনা করে এমন একটি অনুলিপি সরবরাহ করেছেন।

এটি কীভাবে করবেন? নিম্নলিখিত বাক্যটি দিয়ে সহজ:

refresh_pattern [-i] regex min percent max [options]

আমি যেমনটা সবসময় বলি, সবকিছু বিশ্বাস করবেন না, তাই আমি আপনাকে নির্ভরযোগ্য উৎস থেকে পড়ার জন্য উৎসাহিত করছি। আমি এই রায়ের ম্যানুয়ালটি এখান থেকে পড়ার পরামর্শ দিচ্ছি।

ক্যাশে নতুন প্যারামিটার যোগ করার জন্য refresh_pattern স্টেটমেন্টটিই আমাদের ট্যাগ হিসেবে ব্যবহৃত হবে ।

গুরুত্বপূর্ণ, আপনার ক্যাশে তালিকাগুলি অবশ্যই অনুক্রমিক হওয়া উচিত, কারণ এটি একবারের সাথে প্রথমটির সাথে মেলে যা বস্তুর সাথে মেলে, এটি আপনার অন্যান্য নিয়মগুলি পড়া চালিয়ে যাবে না

রেগুলার এক্সপ্রেশন কেস-সেনসিটিভ, তাই flv এবং FLV এক নয়, কিন্তু আপনি চাইলে -i অপশনটি ব্যবহার করে এটি এড়াতে পারেন । সেক্ষেত্রে এটি দেখতে হবে এরকম: refresh_pattern -i

'Min': এটি সেই সময় (মিনিটে), যে পর্যন্ত একটি অবজেক্টকে "ফ্রেশ" বলে গণ্য করা হবে, যদি সেটির কোনো সুস্পষ্ট "expired" ট্যাগ না থাকে। ডিফল্টরূপে, Squid ০ ব্যবহারের পরামর্শ দেয়, কারণ কিছু ডাইনামিক অ্যাপ্লিকেশন অদ্ভুত আচরণ করতে পারে। এই মানটি এমন একটি সংখ্যা হওয়া উচিত যা আপনি ক্যাশ করতে চান এমন এলিমেন্টগুলোর জন্য দরকারি এবং কার্যকর বলে মনে করেন। উদাহরণস্বরূপ, JPG ফাইলের জন্য ১৪৪০ মিনিট (এক দিন) আমার কাছে ঠিকই মনে হয়; কারণ ওয়েবসাইটের কোনো পোস্টের ছবি তো আর প্রতি ৫ মিনিটে বদলে যায় না।

'পার্সেন্ট' হলো কোনো অবজেক্টের বয়সের (শেষ পরিবর্তনের পর থেকে) সেই শতাংশ, যা "সাম্প্রতিক" বা "সতেজ" হিসেবে বিবেচিত হবে। উদাহরণস্বরূপ, আপনি যদি সর্বশেষ পরিবর্তনগুলো দেখার জন্য ক্রমাগত একটি ওয়েবপেজ রিলোড বা রিফ্রেশ করতে থাকেন, তাহলে Squid বিবেচনা করতে পারে যে, যদি অবজেক্টটি তার সর্বনিম্ন এবং সর্বোচ্চ মানের মধ্যবর্তী সময়ের ৫০%-এ পৌঁছে যায় , তবে এটি ইন্টারনেট থেকে সেই অবজেক্টটি আবার ডাউনলোড করে আপনাকে একটি সতেজ কপি দেবে।

'Max' হলো 'Min'- এর সমান বা তার বেশি সময়ের সীমা, যার ভিত্তিতে কোনো একটি অবজেক্টকে "সাম্প্রতিক বা সতেজ" বলে গণ্য করা হয়। ধরা যাক, কোনো একটি পৃষ্ঠার একটি ছবি একজন ব্যবহারকারী মাত্র একবার দেখেছেন; সেক্ষেত্রে সেই অবজেক্টটি তার সর্বনিম্ন সময়সীমায় পৌঁছে গেছে , কিন্তু সর্বোচ্চ সময়সীমায় পৌঁছায়নি । তাই যখন এটি আবার দেখা হবে, তখন এর একটি ক্যাশ করা কপি সরবরাহ করা হবে।

Options:
override-expire
override-lastmod
reload-into-ims
ignore-reload
ignore-no-store
ignore-private
max-stale=NN
refresh-ims
store-stale

এই বিকল্পগুলি বেশিরভাগ ভাষা এবং প্রোটোকলগুলিতে প্রাক-প্রতিষ্ঠিত আচরণগুলি উপেক্ষা করার জন্য তৈরি করা হয়েছিল, যাতে ক্যাশের কার্যকর ব্যবহারের গ্যারান্টি দেওয়া যায়।

override-expire

এটি কোনও সামগ্রীর সর্বনিম্ন সময় কার্যকর করে, এমনকি সার্ভারের একটি স্বল্প মেয়াদোত্তীর্ণ সময় পাঠানো হয় (উদাহরণস্বরূপ জিনিসগুলি শিরোনাম বা ক্যাশে-নিয়ন্ত্রণ: সর্বাধিক বয়স)। যদি আমরা এটি করি, একটি "সতর্কতা" এই "HTTP স্ট্যান্ডার্ডকে ভোল্টেজ" বলে কিছু বলবে তবে এটি কেবল সতর্কতা যা আমরা উপেক্ষা করতে পারি। এখন যদি কোনও সার্ভার প্রেরণের সময়টি দীর্ঘ হয় তবে স্কুইড সার্ভারটির সময় (মেয়াদোত্তীকরণ) নেবে

override-lastmod

আইটেমটির সাম্প্রতিক সময়ে সংশোধন করা হলেও আইটেমের সর্বনিম্ন সময়কে শক্তিশালী করে।

reload-into-ims

সংক্ষিপ্ত ব্যাখ্যাটি হ'ল এটি প্রতিরোধ করে যে যখন আমরা রিফ্রেশ বোতাম টিপুন বা নো-ক্যাশে অনুরোধ করব তখন স্কুইড ক্যাশে সরবরাহ করবে যদি এটি "পরে সংশোধিত" না হয় এবং / অথবা পৃষ্ঠায় কোনও "শিরোনাম" না থাকে।

ignore-reload

পুনরায় লোড বা রিফ্রেশ পৃষ্ঠা বোতাম টিপতে ব্যবহারকারীদের ক্রিয়াটি উপেক্ষা করুন

ignore-no-store

ক্যাশে না করা শিরোনামে কোনও নিয়ম উপেক্ষা করুন, উদাহরণস্বরূপ ভিডিওগুলি

ignore-private

ব্যক্তিগত কন্টেন্ট হেডারগুলিতে কোনও নিয়ম উপেক্ষা করুন যা ক্যাশে করা উচিত নয়, উদাহরণস্বরূপ: ফেসবুক সামগ্রী।

refresh-ims

স্কুইডটি সার্ভারের সাথে যোগাযোগ করে, অবজেক্টটি নতুন কিনা তা নিশ্চিত করতে। যদি তা হয় তবে এটি ক্যাশে সরবরাহ করবে

store-stale

স্কুইড এই সমস্ত প্রতিক্রিয়াগুলি সংরক্ষণ করবে, তাদের মেয়াদ শেষ হওয়ার তারিখ না থাকলেও, এটি অত্যন্ত ব্যবহারিক কারণ সাধারণত তাদের পুনরায় ব্যবহার করা যায় না। আপনি যদি এটি সক্ষম করার সিদ্ধান্ত নেন তবে আপনাকে অবশ্যই সর্বোচ্চ-বাসি = এনএন ঘোষণা করতে হবে

max-stale=NN

আপনি যদি উপরেরটিকে সক্ষম করে থাকেন তবে আপনাকে অবশ্যই সেই প্রতিক্রিয়া বা ফ্যাক্টরের জন্য সর্বাধিক আজীবন ঘোষণা করতে হবে। স্কুইড এই স্টাইলের অবজেক্টগুলি সরবরাহ করে না তবে উত্সের সাথে এটি বৈধতা দিতে পারে

আমরা যে আলোচিত মূল্যবোধগুলি অনুসারে তাজা "FRESH" এর স্থিতি কীভাবে কাজ করে তার একটি সারণি এখানে:

  • এখনই মেয়াদ উত্তীর্ণ হলে নতুন করুন else
  • বয়স যদি সর্বোচ্চ হয় তবে সর্বোচ্চ ST
  • এলএম-ফ্যাক্টর <শতাংশ, অন্যথায় স্টেলে নতুন করুন
  • বয়স <অন্য মিনিট স্টল থাকলে নতুন করুন

এখানে প্রচুর ডিস্ক স্পেস, ভাল সরঞ্জাম এবং ভাল ব্যান্ডউইথ সহ একটি নির্দিষ্ট সংস্থার জন্য একটি কনফিগারেশন রয়েছে

refresh_pattern -i \.(3gp|7z|ace|asx|bin|deb|divx|dvr-ms|ram|rpm|exe|inc|cab|qt)$ 43200 99% 43200 ignore-no-store ignore-must-revalidate override-expire override-lastmod reload-into-ims

refresh_pattern -i \.(rar|jar|gz|tgz|bz2|iso|m1v|m2(v|p)|mo(d|v)|arj|lha|lzh|zip|tar)$ 43200 99% 43200 ignore-no-store ignore-must-revalidate override-expire override-lastmod reload-into-ims

refresh_pattern -i \.(jp(e?g|e|2)|gif|pn[pg]|bm?|tiff?|ico|swf|dat|ad|txt|dll)$ 43200 99% 43200 ignore-no-store ignore-must-revalidate override-expire override-lastmod reload-into-ims

refresh_pattern -i \.(avi|ac4|mp(e?g|a|e|1|2|3|4)|mk(a|v)|ms(i|u|p)|og(x|v|a|g)|rm|r(a|p)m|snd|vob)$ 43200 99% 43200 ignore-no-store ignore-must-revalidate override-expire override-lastmod reload-into-ims

refresh_pattern -i \.(pp(t?x)|s|t)|pdf|rtf|wax|wm(a|v)|wmx|wpl|cb(r|z|t)|xl(s?x)|do(c?x)|flv|x-flv)$ 43200 99% 43200 ignore-no-store ignore-must-revalidate override-expire override-lastmod reload-into-ims
cache_mem 8092 MB

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

maximum_object_size_in_memory 1024 KB

স্কুইডটি র‌্যামে সঞ্চয় করবে মেমরিতে থাকা অবজেক্টের সর্বাধিক আকার। আপনি ন্যূনতম ঘোষণা করতে পারেন।


memory_replacement_policy heap GDSF
cache_replacement_policy heap GDSF

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

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

maximum_object_size 4 MB

কোনও বস্তুর সর্বাধিক আকার সংরক্ষণ করা যেতে পারে

cache_dir aufs /media/proxy249/cache 100 16 256

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

আকার 100 (মেগাবাইট), আপনি 100000 রাখতে পারেন এটি আপনার উপলব্ধতার উপর নির্ভর করে প্রায় 100 গিগাবাইট। 16 হ'ল ফোল্ডারের সংখ্যা এবং 256 সাব-ফোল্ডারগুলির সংখ্যা। আপনার ডিস্কগুলি কত দ্রুত এবং আপনার কতটা সংস্থান রয়েছে তার উপর নির্ভর করে আপনি উভয় মান নিয়ে খেলতে পারেন।


cache_swap_low 90
cache_swap_high 95

এই বিকল্পগুলি হ'ল অবজেক্ট রিপ্লেসমেন্ট মান, এটি স্কুইড অনুসারে ওয়াটারমার্ক হিসাবে সর্বনিম্ন এবং সর্বাধিক মান, যেখানে এই সংখ্যাগুলি শতাংশ (%), এবং খুব ছোট ক্যাশে, 5% এই মুহুর্তে আসুন প্রতি সেকেন্ডে 300 টি অবজেক্ট বলতে হবে , তবে খুব বড় ক্যাশে আমরা কয়েক হাজার এমবি নিয়ে কথা বলব

আচ্ছা, আপাতত এই পর্যন্তই। মন্তব্য করুন, এবং যারা আমাকে জানিয়েছেন যে তারা Squid 3.5 বা তার উচ্চতর সংস্করণে HTTPS (SSL) পেজ ক্যাশ ও ফিল্টার করতে পারেননি, তাদের কথাও বিবেচনা করবেন; আমি শীঘ্রই এটি আপনাদের জন্য নিয়ে আসব, তাই এই ব্লগে চোখ রাখুন।


Google-এ পছন্দের উৎস হিসেবে যোগ করুন