ড্রুপাল স্মৃতি সংক্রান্ত সমস্যার সাথে আমি সর্বশেষ একটি প্রাচীরের বিরুদ্ধে আমার মাথাও মারছিলাম। এই বিষয়টিতে আমার সংগৃহীত জ্ঞানটি এখানে:
1. ভিউ (প্রচুর পরিমাণে স্মৃতি ব্যবহার করতে পারে)
আমি আমাকে কিছু ভিউ (এবং প্যানেলস এবং সিটুলস এবং ম্যারলিনোফাসগুলি তার শক্তিশালী, শক্তিশালী আঙ্গুলগুলির সাহায্যে স্পর্শ করে) ভালবাসি, তবে একাধিক সম্পর্কগুলির সাথে কনফিগারেশন তৈরি করা সম্ভব যা প্রচুর স্মৃতি ব্যবহার করে। আপনি যদি নিজের দর্শন অক্ষম করেন এবং মেমরির সমস্যাটি চলে যায় তবে সমস্যাটি সম্ভবত খারাপভাবে তৈরি হয়েছে View
এটি যদি একটি ভিউ হয় তবে কী করবেন এবং আপনার সেই দৃশ্যটি কাজ করার জন্য সত্যই প্রয়োজন? এটিকে কোডের মধ্যে রাখার চেষ্টা করুন (বাল্ক রফতানিকারক বা বৈশিষ্ট্যগুলির মাধ্যমে; নীচে দেখুন I've খুব কম সাফল্যের সাথে পারফরম্যান্সের উন্নতি করতে আমি ভিউ-এর মতো কার্যকারিতাটি হ্যান্ড-কোডড করেছি)) আরেকটি ধারণা হ'ল ভিউটিকে অন্যভাবে করা উচিত - যদি শেষ পর্যন্ত আপনি যা পেয়ে যাচ্ছেন তা হ'ল শ্রমশক্তি শর্তাবলী, নিশ্চিত করুন যে এটি তৈরির সময় ধরণের ধরণটি একটি শ্রেণিবদ্ধ দর্শন; কর বিষয়ক শর্তাবলী পেতে সম্পর্ক ব্যবহার করে এমন একটি সামগ্রী দেখুন তৈরি করবেন না।
এখানে উল্লেখ করার মতো বিষয়ও থাকতে পারে যে প্যানেলগুলি প্রচুর পরিমাণে মেমরি ব্যবহার করে - আমি এটি সত্যই বেঞ্চমার্ক করি নি তাই এটি নিশ্চিত করতে পারছি না।
২. ডাটাবেস থেকে কোডে স্টাফ স্থানান্তর করা খুব ভাল অনুশীলন
এটি উপলব্ধি করতে আমার বেশ কয়েকটি ড্রুপাল সাইট লেগেছিল, তবে ইউটিআইয়ের মাধ্যমে তৈরি করা সমস্ত কিছু ডাটাবেসে রাখা (বিশেষত ভিউ এবং প্যানেল কনফিগারেশন) একটি ড্রুপাল সবচেয়ে খারাপ অভ্যাস। কেন? এটি ডেটাবেজে লোড বাড়ায় এবং সংস্করণে নিয়ন্ত্রণ করা যায় না। প্রথম পয়েন্টটি মেমরির ব্যবহারের ক্ষেত্রে বিশেষভাবে সমস্যাযুক্ত - ডাটাবেস থেকে ভিউ থেকে সামগ্রীটি কেবল লোড করার পরিবর্তে সাইটটিকেও ভিউ উপাদানগুলি নিজেই লোড করতে হবে। এটি কীভাবে দ্রুপাল সারণীগুলি ব্যবহার করে তা আরও তীব্র করে তোলে: নবম ডিগ্রীতে সমস্ত কিছুকে বিমূর্ত করে দিয়ে, দ্রুপালের প্রতিটি বিট কার্যকারিতা একটি নতুন টেবিল ব্যবহার করে, যার ফলে কিছু অনুরোধ বাজিলিয়ান টেবিলগুলিতে যোগদান করে joining এটি কম্পিউটার সায়েন্সকে হার্নিয়াস দেয় (সতর্কতা: লিঙ্কটি নির্বোধ), তবে ড্রপাল যেমনটি মডুলার এবং ব্যবহারকারী-বান্ধব, তেমন কোনও টুকরো সফটওয়্যার দিয়ে এড়ানো যায় না।
সমাধান? বর্তমানে মডিউল কোড হিসাবে ডাটাবেসে থাকা কোডের বিটের প্যাকেজ আপ করতে বাল্ক এক্সপোর্টার (সিটিউল সহ অন্তর্ভুক্ত) বা বৈশিষ্ট্যগুলি ব্যবহার করুন ।
৩. থিমগুলি স্মৃতিও খেতে পারে
আপনার থিমের কি প্রচুর টেম্পলেট ফাইল রয়েছে (অর্থাত্, থীমনেম / টেম্পলেটগুলিতে ফাইল)? যদি তাই হয়, প্রতিবার সেই ফাইলগুলির মধ্যে একটি লোড হয়ে গেলে মেমরি গ্রাস করা হয়। আপনি যদি দ্রুপালের বিটগুলি প্রদর্শিত হতে দমন করার জন্য বিশেষভাবে টেম্পলেটগুলি তৈরি করে থাকেন তবে চেষ্টা করুন:
- অনুমতি পরিবর্তন করে যাতে বিটটি নির্দিষ্ট নন-অ্যাডমিন ব্যবহারকারীর ভূমিকাগুলির জন্য প্রদর্শিত না হয় show
- উপাদানগুলি লুকানোর জন্য সিএসএস ব্যবহার করা।
প্রথম পছন্দটি স্পষ্টতই আপনি স্টাফটি সুরক্ষাকে প্রভাবিত করার জন্য যা করতে চান - আপনি নির্দিষ্ট ব্যবহারকারীদের "সম্পাদনা" বোতামটি আড়াল করার জন্য সিএসএস ব্যবহার করতে চান না, কেবল ফায়ারব্যাগ বা যেকোন কিছুতে এটি লুকিয়ে রাখার জন্য।
৪. অবদানকারী মডিউলগুলিতে ওভারবোর্ডে যাবেন না
যদিও কখনও কখনও কোনও সাইটের জন্য অনেক অবদানের মডিউল প্রয়োজন হয় তবে ওভারবোর্ডে যাবেন না। প্রতিটি সক্ষম (নোট: সক্ষম। অক্ষম মডিউলগুলি কোনও মেমরি ব্যবহার করে না) মডিউল মেমরি ব্যবহার করে। এটি কিছুটা সুস্পষ্ট, তবে নির্বিশেষে লক্ষ্য করার মতো।
5. ভিপিএস (কখনও কখনও) একটি মিথ্যা হয়
আমার অভিজ্ঞতায়, কিছু অসাধু হোস্টিং সংস্থাগুলি দ্রুপাল সাইটগুলিকে ভিপিএস সার্ভারগুলিতে ঠেলে দেওয়ার চেষ্টা করে - তারা আরও ব্যয়বহুল এবং এটি আরও বেশি ওয়ার্ডপ্রেস ওয়েবসাইটগুলির জন্য ভাগ করে নেওয়া হোস্টিংয়ের জায়গাটি মুক্ত করে। পরিস্থিতি আরও খারাপ হয়ে গেছে যে ওয়েবহোস্টগুলি প্রায়শই বিজ্ঞাপন দেয় না (বা জিজ্ঞাসা করা স্বেচ্ছায় আপনাকে জানায়) শেয়ার্ড হোস্টিংয়ের জন্য উপরের মেমরির সীমাটি কী।
হায়, প্রায়শই যদি কোনও সাইট ভারী ট্র্যাফিকের আওতায় না থাকে এবং এখনও ক্র্যাশ হয় তবে সমস্যাটির সাথে ড্রপালের কনফিগারেশনটির সাথে অন্য কোনও কিছুর চেয়ে আরও কিছু করার আছে। কোনও ব্যবহারকারীকে ভিপিএসে ঠেলাঠোকি জলের জলে কাদামাটি করে এবং মোকাবেলায় আরও পরিবর্তনশীল যুক্ত করে (এটি কি ওয়েবসারভার কনফিগারেশন? পিএইচপি কনফিগারেশন? ভিপিএস অতিথি কনফিগারেশন? ভিপিএস হোস্ট কনফিগারেশন, এমনকি?) রয়েছে।
Else. অন্য সমস্ত কিছু ব্যর্থ হলে লোকালহোস্টে ক্লোন করুন এবং এটিকে একটি লাঠি দিয়ে পেটান
লোকেরা সংস্করণ নিয়ন্ত্রণের সাথে ডেভ-স্টেজিং-প্রোডাকশন পদ্ধতিটি ব্যবহার করার একটি বড় কারণ - যখন অন্য সমস্ত কিছু ব্যর্থ হয়, আপনি একটি ডিবি ডাম্প করতে পারেন, গিটটি স্থানীয় টেস্টিং সার্ভারে সাইটটিকে ক্লোন করে দিতে পারেন এবং তারপরে রোয়ালি সাইটটিকে বিশৃঙ্খলা করতে পারে প্রোডাকশন সার্ভারে আসলে কোনও কিছু ভঙ্গ করার বিষয়ে চিন্তা না করে সার্ভার পরীক্ষা করে।
মেমরি সমস্যাগুলির জন্য, এর অর্থ সাধারণত সমস্যাটির কারণটি প্রকাশ না হওয়া অবধি একের পর এক মডিউলগুলি অক্ষম করা। এটি ওয়েবহোস্ট-সম্পর্কিত সমস্যাগুলিতেও ইঙ্গিত করতে পারে - যদি 128MB এর মতো যুক্তিসঙ্গত কিছুতে মেমরি সেট করা কোনও স্থানীয় ইনস্টলের উপর সাইটটি পুরোপুরি ঠিকঠাক চলতে থাকে, তবে আপনি জানেন যে আপনার ওয়েবহাস্টটি ক্র্যাক।
TL; ড
আমার অন্ত্রটি এটি চেইন_মেনু_অ্যাকসেস যা সমস্যার কারণ। এটি অক্ষম করে এবং ক্যাশে সাফ করার চেষ্টা করুন, দেখুন এটি কার্যকর হয় কিনা।
চেষ্টা করার মতো অন্যান্য জিনিসগুলি ভেবে আমিও এই উত্তরে যুক্ত করব ...