আমার ড্রুপাল 7 টি সাইটের একটিতে হাজার হাজার ক্ষেত্র, সামগ্রীর ধরণের একটি গুচ্ছ, 25 টিরও বেশি ভিউ এবং শত শত (শীঘ্রই হাজার হাজার) প্রোফাইল ধরণের রয়েছে। এর কারণে, আমি একটি মূল প্যাচ ব্যবহার করছি যা সত্তা ক্ষেত্রের তথ্যকে আরও ভাল করে তোলে (http://drupal.org/node/1040790), এবং ভিডিয়ো-এর দেবদেব সংস্করণ যা প্রদর্শন করে ভালভাবে ক্যাশে করে (একটি বিশাল সংখ্যার পরিবর্তে) এতে সমস্ত দর্শন ডেটা সহ ক্যাশে সারি দেখায়)।
এটি সাইটের বেশিরভাগ পৃষ্ঠাগুলিকে 160-30 এমবি + র পরিবর্তে 20-30 এমবি র্যাম ব্যবহারের সাহায্যে লোড করতে সহায়তা করেছে (10 এমবি + ছিল এমন ক্ষেত্র এবং দর্শনগুলির জন্য ক্যাশে_ * টেবিল সারিগুলি টানানোর পরিবর্তে, প্যাচগুলি ক্যাশে_ * ডেটা আরও কার্যকর রাখতে সহায়তা করে)।
এটি একটি সমস্যার পরিচয় দেয়, তবে ক্যাশে পুনর্নির্মাণগুলি সত্যই দীর্ঘ সময় নেয় । সাধারণত এক বা দুই মিনিটের বেশি। এবং এই সময়ের মধ্যে, দ্রুপাল কেবল কোনও পৃষ্ঠা লোড করবে না (যেহেতু এটি যে ক্যাশেগুলি পড়ার চেষ্টা করছে তা এখনও নির্মিত হয়নি, অন্যান্য অনুরোধগুলির জন্য অপেক্ষা করতে হবে)।
কম ট্রাফিক চক্র চলাকালীন, এটি কোনও বড় বিষয় নয়; একশত বা তাই ব্যবহারকারীদের কেবল পৃষ্ঠা লোড হওয়ার এক মিনিট অপেক্ষা করতে হবে। তবে উচ্চ ট্র্যাফিক চক্রের সময়, অ্যাপাচি সার্ভারটি 40+ সিপিইউ লোড সহ পাগল হতে শুরু করে এবং মেমরিটি দ্রুত ভরে যায় কারণ সমস্ত কর্মী থ্রেড অপেক্ষা করে বসে থাকে এবং তাদের মেমরি সর্বাধিক সরিয়ে দেয়, যার ফলে অদলবদল হয়। এটি একধরণের মৃত্যুর সর্পিল। Httpd এর পুনঃসূচনাটি জিনিসগুলি পরিষ্কার করে দেবে, তবে জিনিসগুলি স্বাভাবিক অবস্থায় ফিরে আসতে 5-10 মিনিট সময় নেয়।
আমার লক্ষ্য এটিকে করা যাতে ক্যাশে ক্লিয়ারগুলি সাইটটিকে তার হাঁটুর কাছে না নিয়ে আসে। একটির জন্য, যদি আমি অ্যাডমিন_মেনুর স্বতন্ত্র ক্যাশে ক্লিয়ারিং ফাংশন (যেমন "সিএসএস এবং জেএস", তারপরে "মেনু", তারপরে "থিম রেজিস্ট্রি" ইত্যাদি) ব্যবহার করি, আমি "পৃষ্ঠা এবং অন্য" বিকল্পটি না লাগা পর্যন্ত জিনিসগুলি সহজেই চলে। যখন ভিউ'স ক্যাশেটি পুনরায় সেট করা হয় (ক্যাশে হওয়া দরকার এমন সংখ্যার সাথে একটি খুব সিপিইউ এবং ডাটাবেস-তীব্র ক্রিয়াকলাপ) এবং যখন ক্ষেত্রের তথ্য ক্যাশে পুনরায় সেট করা হয় (যা এই সাইটে সিপিইউ এবং ডাটাবেস-তীব্রও হয়)।
সুতরাং ... আমার প্রশ্ন / ধারণা:
- ড্রাশ এবং / বা অন্যান্য শেল স্ক্রিপ্টিং ব্যবহার করে, "আমার সমস্ত ক্যাশে একবারে বিস্ফোরণ করা এবং পরিষ্কার পুনর্নির্মাণের আশা" করা ছাড়া কি আমার পক্ষে আরও বুদ্ধিমান পদ্ধতিতে ক্যাচগুলি সাফ করা সম্ভব?
- ক্যাশে ক্লিয়ারিংয়ের সময় আমি কী এইচপি-র অনুরোধগুলি অবরুদ্ধ করতে পারি যাতে আপাচি ক্যাশে-স্ট্যাম্পিডিংয়ের অনুরোধগুলির একটি গুচ্ছ দিয়ে আটকে না যায়?
- যদি আমি দ্রুপাল / সাধারণ httpd অনুরোধের বাইরে ক্যাশেগুলি সাফ করতে পারি তবে আমি সম্ভবত ক্যাশে ক্লিয়ার অপারেশনের জন্য উচ্চতর পিএইচপি মেমরি_লিট সেট করতে পারি এবং আমার সর্বজনীন মেমরি_লিট (এখনই 256MB সেট করে রেখেছি, যদি কোনও পৃথক httpd থ্রেড ক্যাশে সাফ করার প্রয়োজন হয়) ...)।
মূলত: ইউআই-এর বোতামটি ক্লিক করে বা ব্যবহার করার পাশাপাশি দ্রুপালের সাথে সমস্ত ক্যাশেগুলি পরিষ্কার করার কোনও বুদ্ধিমান এবং করুণাময় উপায় আছে drush cc all
?
[ স্পষ্টতার জন্য সম্পাদনা করুন : আমার প্রধান সমস্যাটি হ'ল ক্যাশে পুনর্নির্মাণগুলি , যা (ক) কিছুক্ষণ সময় নেয় এবং (খ) পুনর্নির্মাণগুলি সম্পূর্ণ না হওয়া অবধি অন্যান্য সমস্ত অনুরোধগুলি অবরুদ্ধ করে। আমি এটির জন্য একটি উপায় খুঁজতে চাই যাতে উচ্চ ট্র্যাফিকের সময়গুলিতে পুনর্নির্মাণগুলি এতটা মারাত্মক না হয়]]