ম্যাজেন্টো স্বয়ংক্রিয় ক্যাশিং অন্তর্দৃষ্টি


16

আমরা ম্যাগচিও সহ ম্যাজেন্টো ইই 1.11 চালাচ্ছি। মেমকাহেস সার্ভার প্রতি 2 জিবি, মোট 4 জিবি। আমাদের প্রায় 240k পণ্য রয়েছে।

  • উপলব্ধ র‌্যাম: 6 জিবি
  • কোর: 16
  • থ্রেডস: 32

এই চুক্তিটি হল, আরও নতুন পণ্য যুক্ত করা হয় এবং প্রতিদিনের ভিত্তিতে পণ্যগুলির পরিবর্তন ঘটে এবং অবশ্যই প্রতিবার ব্যাক-এন্ডে নতুন পণ্য যুক্ত / সংশোধন করা হলে ক্যাশে অবৈধ হয়ে যায়, বিশেষত 'ফুল পেজ ক্যাশে'।

যখন ম্যাজেন্টোস অটো ক্যাশে জেনারেশন সক্ষম করা থাকে তখন ক্যাচারটি তৈরি করতে প্রায় 2 দিন সময় লাগে, 8 টি থ্রেড ক্রলারে বরাদ্দ করা হয়। 2 দিন পরে মেমক্যাচ দুটি রাম ডিস্কের মধ্যে পৃথক করে প্রায় 2 গিগাবাইট ডলার ভাসে।

সমস্যাটি হ'ল, যখন পণ্যগুলি প্রতিদিনের ভিত্তিতে সংশোধন করা হয় তখন ক্যাশে অবৈধ হয়ে যায় এবং 'ফুল পেজ ক্যাশে' রিফ্রেশ হওয়ার সাথে সাথে সেই 2 জিবি ক্যাশে আবার স্কোয়ার এক, 0 এ ফিরে আসে এবং ম্যাগেন্টোস অটো ক্যাশেটির সান্দ্র চক্রটি আবার শুরু হয়। এখন কেবল ক্যাশে 0-এ ফিরে আসে না, তবে সিপিইউ ব্যবহার 90% পর্যন্ত বেড়ে যায় এবং ওয়েবসাইটটি 5-10 + সেকেন্ডের অপেক্ষার গেমে পরিণত হয় এবং আপনি যদি 100+ বৈকল্পিকের সাথে পণ্যটির অনুরোধ করার চেষ্টা করতে ভুলে যেতে পারেন তবে তা যদি হয় প্রথমবারের মতো লোড হতে কয়েক মিনিট সময় লাগবে না, এটি হাস্যকর।

সুতরাং, সম্প্রদায়ের কাছে আমার প্রশ্নগুলি।

  • পুরো ক্যাশেটি পুনর্নির্মাণ না করে এবং 0 থেকে শুরু না করে ম্যাগান্টোর কী ক্যাশেটি অবৈধভাবে স্বয়ংক্রিয়ভাবে "আপডেট" করার কোনও উপায় আছে? আমি জানি যখন ক্যাশেটি অবৈধ হয় তখন ম্যাগেন্টো জানে যে কিছু পরিবর্তন হয়েছে, তবে ঠিক যেখানে ক্যাশে নেই (আমি ভুল হলে আমাকে সংশোধন করুন)। পুরো ক্যাশে পুনর্নির্মাণকে বাইপাস করার জন্য কি মডিউল / কনফিগারেশন আছে?

পাশের নোটে, আমরা টিনি ব্রিকস লাইটস্পিড মডিউলটি ব্যবহার করছি।

  • ম্যাজেন্টোস অটোমেটিক ক্যাশে জেনারেশন কি কোনও ক্রোনজব দিয়ে সময় নিয়ন্ত্রণ করা যায়? বলুন, রাত 10 টা থেকে 6 টা অবধি ক্রলিং শুরু করতে।

  • এই পরিস্থিতির কাছে যাওয়ার সর্বোত্তম উপায় কী হবে? আপনি যেমনটি বুঝতে পারেন যে প্রতিদিন গিগাবাইটে থাকা একটি ক্যাশে পুনর্নির্মাণ ঠিক গ্রহণযোগ্য নয়।


1
আমি এখনই নির্বোধ বোধ করছি আমার সার্ভার আপ সম্পর্কে আরও বিশদ পোস্ট করা উচিত ছিল। আমি যখন প্রশ্নটি জিজ্ঞাসা করেছি তখন সবেমাত্র সার্ভার সেটআপের সাথে পরিচয় হয়েছিল। তবে এখানে আসল সেটআপ রয়েছে: 2 সার্ভার, অভিন্ন। একজন অ্যাপাচি একটি মাইএসকিউএল চালিয়ে যাচ্ছেন, দু'টি এএমডি ওপ্টরন 6276 সিপিইউতে 32 কোরের 32 টি থ্রেড সহ 64 গিগাবাইট র‌্যাম বসে আছে। অনেক পরে, আমি সার্ভার কনফিগারেশনের চারপাশে খনন করেছি এবং বুঝতে পেরেছিলাম যে অনেকগুলি বিষয় ভুলভাবে কনফিগার করা হয়েছে, বিশেষত ম্যাগান্টোস ক্যাশে। তাদের কাছে 1 + 1 কনফিগার এবং অন্যান্য অদ্ভুত কনফিগারেশনের একটি গুচ্ছটিতে ধীর ব্যাকএন্ডের জন্য ব্যাকএন্ড এবং 4 জিবি মেমক্যাচ হিসাবে 2 জিবি এপিসি সেটআপ ছিল।
ওলেগ

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

যারা এখানে এই থ্রেড জুড়ে আসা জন্য Magentos ক্যাশে স্থাপনের জন্য খুবই উপযোগী লিঙ্ক আছে: magebase.com/magento-tutorials/improving-the-file-cache-backend এবং especialy *** -> nbs-system.co.uk/ ব্লগ -২ / ম্যাজেন্টো-অপ্টিমাইজেশন-হাওটো-এন এইচটিএমএল প্লাস অবশ্যই ম্যাজেন্টো উইকি এবং ম্যাজেন্টো হোয়াইট পৃষ্ঠাগুলি পড়তে ভুলবেন না।
ওলেগ

উত্তর:


14

আপনার কাছে প্রায় পর্যাপ্ত র‌্যাম নেই

আমাদের প্রায় 240k পণ্য
উপলব্ধ র্যাম: 6 জিবি
থ্রেড: 32

আপনার কাছে যত পরিমাণ পণ্য রয়েছে তার জন্য পর্যাপ্ত পরিমাণ র‌্যাম নেই। থাম্বের নিয়ম হিসাবে, আমরা লজিক্যাল কোর প্রতি কমপক্ষে 2-4 জিবি র‌্যামের প্রস্তাব দিই।

যদি আপনি আপনার সম্ভাব্য মেমরির ব্যবহার ম্যাপ করেন:

  • max_memoryPH 768 এমবি = 24 জিবি এর সাথে 64 পিএইচপি থ্রেডস
  • 240,000 পণ্যগুলির প্রায় 15GB InnoDB টেবিল স্পেস হতে পারে
  • PH৪ পিএইচপি থ্রেডগুলি প্রায় 128 মাইএসকিউএল সংযোগের বিষয়ে ওয়্যারেন্ট করবে, সাধারণত এটি প্রতি সংযোগ ন্যূনতম 200MB ব্যয় করে আসে
  • রেডিস এবং lzfসংকুচিত - 240,000 পণ্যগুলির জন্য ব্যাকএন্ড স্টোরেজ এখনও প্রায় 6GB র্যাম ব্যবহার করবে consume

সুতরাং এখন পর্যন্ত মোট প্রতিশ্রুতিবদ্ধ র‌্যামের 70 গিগাবাইট - আমরা ওএস ইত্যাদির কথাও উল্লেখ করি নি etc.

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

মেমক্যাচড ক্যাশে ট্যাগগুলি সমর্থন করে না

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

এ সম্পর্কে একটি পড়ুন, http://www.sonassi.com/ জ্ঞান-base / magento-kb / কি-is-memcache-actually-caching-in-magento/

আমরা রেডিসে সরে যেতে দৃ over়ভাবে পরামর্শ দেব। এটির কীর্তি রয়েছে এবং বৃহত্তর স্টোরগুলির জন্য উল্লেখযোগ্য সূক্ষ্ম সুরকরণের প্রয়োজন এটি। তবে সামগ্রিকভাবে ক্যাশে-ট্যাগ সমর্থনের আসল উপকারের সাথে মেমচেডের চেয়ে কিছুটা ভাল পারফর্ম করবে।

404 এবং এফপিসি

এফপিসি একটি বাস্তব সমস্যা আছে, প্রকৃতপক্ষে, সমস্ত ক্যাচিং ইঞ্জিনের 404s এর সমস্যা রয়েছে। কারণ হ'ল, যে কোনও পুরানো ইউআরএল এখনও ক্রল করা হয়েছে বা এর সাথে লিঙ্কযুক্ত রয়েছে এমন কোনও পৃষ্ঠায় অবতরণ করবে যা পুরো মাধ্যমে পুনরুক্তি করতে হবেcore_url_rewrite টেবিলের , চেষ্টা করুন এবং অবশেষে 404 ছাড়ার আগে লোড দেওয়ার আগে সমস্ত সংজ্ঞায়িত রাউটার এবং নেমস্পেসের বিরুদ্ধে ম্যাচটি খুঁজে দেখুন।

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

বড় ক্যাটালগ (240k পণ্য) সহ, আপনি অবশ্যই আপনার পণ্যের টার্নওভারের ন্যায্য অংশ নিতে চলেছেন, এবং এইভাবে, ইউআরএলগুলিতে পরিবর্তন এবং তারপরে, অনেকগুলি 404 এর।

এফপিসি অবৈধ বনাম পরিষ্কার

এই মুহুর্তে - এবং ডিফল্টরূপে - এফপিসির আচরণটি ক্যাশে প্রবেশকে কেবল অকার্যকর করার পরিবর্তে পরিবর্তনগুলিতে ক্যাশে পরিষ্কার করা। আপনার প্রয়োজন মতো ঠিক মতো করার জন্য কোনও EE স্টোরের জন্য এই আচরণটি পরিবর্তন করতে আমরা একটি এক্সটেনশন লিখেছিলাম।

আপনার সমস্যাটি কীভাবে সমাধান করবেন সে সম্পর্কে একটি ধারণা দেওয়ার জন্য এখানে একটি দ্রুত প্যাচ's

app/code/core/Enterprise/PageCache/etc/config.xml
index 6a56a80..85ebc92 100644
--- app/code/core/Enterprise/PageCache/etc/config.xml
+++ app/code/core/Enterprise/PageCache/etc/config.xml
@@ -139,7 +139,7 @@
             <observers>
                 <enterprise_pagecache>
                     <class>enterprise_pagecache/observer</class>
-                    <method>cleanCache</method>
+                    <method>invalidateCache</method>
                 </enterprise_pagecache>
             </observers>
         </catalogrule_after_apply>

কোনও ক্রলার চালাবেন না

যদি আপনি যথেষ্ট পরিমাণে ফুটফুট পেয়ে থাকেন - আমরা ক্রল সরঞ্জামটি চালানোর পরামর্শ দিই না, এটি অপ্রয়োজনীয় বোঝা উত্পন্ন করে। লোকেরা / বট / ক্রোলারদের সাইটটি ব্রাউজ করা উচিত ক্যাশেটি প্রাইম করা উচিত।

তবে আপনার প্রশ্নের উত্তর দেওয়ার জন্য, আপনি যদি উপরে উল্লিখিত কনফিগারেশন ফাইলটি দেখে থাকেন - আপনি ক্রল শিডিয়ুলটি দেখুন যা ক্রল ব্রাউজিং উইন্ডোটির জন্য সংজ্ঞায়িত করা হয়েছে।

আপনি যদি বাসি কন্টেন্ট বহন করতে পারেন

এবং শেষ পর্যন্ত, যদি আপনার পর্যাপ্ত পরিমাণ থাকে র্যাম থাকে। আপনার ক্যাশেড ডেটা আরও বেশি দিন ধরে রাখতে - আপনি এফপিসিতে সঞ্চিত সামগ্রীর টিটিএল বাড়িয়ে ভালভাবে উপকৃত হতে পারেন।

ইন <full_page_cache>ট্যাগে আপনার ./app/etc/local.xmlমাত্র সংজ্ঞায়িত

<lifetimelimit>86400</lifetimelimit>

জীবনকাল সেকেন্ডে সংজ্ঞায়িত করা হয়। আপনাকে সামগ্রীতে সতেজতা, কর্মক্ষমতা এবং আপনার কাছে উপলব্ধ স্টোরেজ স্পেসের পরিমাণের মধ্যে ভারসাম্য বজায় রাখতে হবে।

আপনি EE এর সাথে তৃতীয় পক্ষের ক্যাচিং এক্সটেনশন কেন ব্যবহার করছেন

আপনি এফপিসির জন্য একটি প্রিমিয়াম প্রদান করছেন - যা আমাকে বলতে কষ্ট দেয়, খুব ভাল। সুতরাং আপনি কেন শীর্ষে 3 য় পক্ষের বিকল্পগুলি চালাচ্ছেন। এটা মুছুন.

এইভাবে রাখুন। যদি আপনার গাড়িটি খারাপভাবে চলছিল - আপনি কি ক্ষতিপূরণ দেওয়ার জন্য বুটে আরও একটি ইঞ্জিন যুক্ত করবেন; বা ঠিক সেখানে ইতিমধ্যে ইঞ্জিন ঠিক আছে?


-1

আমরা আপনাকে খুব ভাল বুঝতে! আমরা প্রতিদিন নতুন যোগ করি বা আমাদের পণ্যগুলি পরিবর্তন করি এবং পাশাপাশি স্ট্যাটিক ব্লকগুলিও সংশোধন করি। সুতরাং আমরা অবৈধ ম্যাজেন্টো ক্যাশে এবং এই নিয়মিত সিস্টেম -> ক্যাশে পরিচালনায় যাচ্ছি with আমরা ম্যানুয়ালি অবৈধ ক্যাশে ধরণের রিফ্রেশ করার প্রয়োজনীয়তাটিকে ঘৃণা করি।

তারপরে আমরা নতুন ম্যাজেন্টো অপ্টিমাইজার এক্সটেনশন ইনস্টল করেছি । এই মডিউলটি এই প্রক্রিয়াটিকে স্বয়ংক্রিয় করে তোলে। এটি অবৈধ / সমস্ত ক্যাশের প্রকারগুলি রিফ্রেশ করে বা নির্দিষ্ট ফ্রিকোয়েন্সিতে ম্যাজেন্টো ক্যাশে স্টোরেজ ফ্লাশ করে। আমাদের সমস্ত দলের জন্য এটি ছিল সত্যিকারের স্বস্তি!

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

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


1
জেমসটির কি এই মডিউলটির সাথে আপনার কোনও সংযোগ আছে? আপনি এটি সম্পর্কে উত্সাহী বলে মনে হচ্ছে।
parhamr
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.