1 কে থেকে 10 কে ওয়েবসাইট / স্টোর সহ পারফরম্যান্স ইস্যু


9

ওয়েবসাইট / স্টোরের পরিমাণ 1 কে ছাড়িয়ে গেলে এবং আমার লক্ষ্য 10 কে-এর কাছাকাছি হয়ে যাওয়ার পরে আমি ম্যাজেন্টোর পারফরম্যান্সের উন্নতির জন্য কোনও উপায় সন্ধান করার চেষ্টা করছি। এখানে কিছু প্রশ্ন রয়েছে; কোনও পরামর্শ / সহায়তা অত্যন্ত স্বাগত!

  1. নতুন ওয়েবসাইট / স্টোর যুক্ত করা ধীর;
    আমি ম্যাসেজ_কোড়_মোডেল_এবস্ট্রাক্টে _ইফটারস্যাভ () - এ-> ক্লিনমডেল ক্যাসে () মন্তব্য করছি এবং পরিস্থিতি আরও ভাল বলে মনে হচ্ছে তবে ক্রমবর্ধমান ওয়েবসাইট / স্টোরের সাথে ধীর হয়ে যাচ্ছে। এবং আমি জানি না এটি ভবিষ্যতে পুরো সিস্টেমে কী প্রভাব ফেলবে।

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

  3. N98-magerun দেব খুলুন: কনসোলটি বেশি সময় নিচ্ছে; এর কারণ জানি না।

  4. অ্যাডমিন প্যানেল থেকে সংরক্ষণের কনফিগারেশনটি বেশি সময় নেয়; কীভাবে এটি উন্নতি করতে হবে তা জানেন না।

ম্যাগেন্টো এর মেমরির খরচ কমিয়ে আনার জন্য কনফিগার ডেটা যেভাবে তৈরি এবং লোড করে তাতে পুনর্গঠন করা সম্ভব? এটি কি এমন একটি কারণ যা আমার পরিস্থিতির জন্য পারফরম্যান্স সমস্যা সৃষ্টি করে?

বর্তমান ম্যাজেন্টো উদাহরণ: সংস্করণ = ম্যাজেন্টো ইই 1.14.2.4;
ক্যাশে কনফিগার করুন; অন্যান্য ক্যাশে বন্ধ;
মাইএসকিএল 5.6 এবং মঙ্গোডিবি ব্যবহার করে (ক্যাটালগ_শ্রেণী_শক্তি, ক্যাটালগ_প্রডাক্ট_েন্টিটি, কোর_উইবসাইট);
ওয়েবসাইটের সংখ্যা = স্টোরের সংখ্যা = দেখার সংখ্যা = 1024;
পণ্যের সংখ্যা = 4501;

সবাইকে আগাম ধন্যবাদ!


2
কেন ম্যাজেন্টো সমর্থন আপনাকে সাহায্য করতে পারে না ???
MagenX

আমি কীভাবে তাদের কাছ থেকে সহায়তা পেতে পারি? আমি কমিউনিটিতে নতুন .. ধন্যবাদ!
জ্যাক.ডাব্লু

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

1
তবে আপনার প্রশ্নের উত্তরটি হ'ল - পৃথক ডেটাবেসগুলির সাথে পৃথক ম্যাজেন্টো শপ, প্রতি 10-20 দোকানে ব্যাচের মতো ...
ম্যাজেনএক্স

আহ ঠিক আছে .. আমি আমার বসকে অ্যাকাউন্টের জন্য জিজ্ঞাসা করব..হাহা।
জ্যাক.ডাব্লু

উত্তর:


3

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

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

[যোগ]

ব্যবহারের ক্ষেত্রে নির্ভর করে আপনি সিউডো স্টোর হিসাবে বিভাগগুলি ব্যবহার করতে পারবেন। আপনি প্রযুক্তিগতভাবে দোকানে স্টোর প্রতি পরিবর্তন করার জন্য লেআউট XML ব্যবহার করতে পারেন। তবে আপনি চেকআউট সীমাবদ্ধতার মধ্যে চলে যেতে হবে। সমস্ত স্টোরের চেকআউট ভাগ করে নেওয়া দরকার।

যে কোনও উপায়ে, 10 কে ম্যাগেন্টো স্টোরগুলি করণীয় সক্ষম, এটি অসম্ভব নয়। তবে আপনি যে কোনও পথ বেছে নিন এটি একটি কঠিন রাস্তা হবে।


হাই কেভিন, আপনার জবাবের জন্য আপনাকে ধন্যবাদ! হ্যাঁ, আমি কোডটি দেখেছি যা কনফিগার ট্রি আপডেট করে, যা আমি ভুল না হলে লোডটাক্সএমএল () is আমার চিন্তা; এবং আপনি বলেছিলেন এটি সংশোধন করা ভাল ধারণা নয়? আমার পরে আসা বেন মার্কস বলতে কী বোঝ? এছাড়াও, মনে হয় যে প্রতিটি HTTP অনুরোধ যা ম্যাগেন্টোতে আসে শেষ পর্যন্ত কনফিগার ট্রিটি লোড করবে, এটি কি সঠিক? কোন আকারে আমি এর আকার সঙ্কুচিত করতে পারি? আমার সম্ভবত 10 কে ম্যাগেন্টো দৃষ্টান্ত পাওয়ার বিষয়ে চিন্তা করা উচিত ... কত সংস্থান দরকার হবে সে সম্পর্কে কোনও চিন্তাভাবনা? আপনাকে অনেক কেভিন ধন্যবাদ!
জ্যাক.ডাব্লু

তবে 10 কে ম্যাগেন্টো স্থাপনের অর্থ হ'ল 10 কে মাইএসকিএল দৃষ্টান্ত সঠিক? আমি কীভাবে এটি করব, বা এটি যদি ভাল ধারণা হয় তবে আমার কোনও ধারণা নেই ..
জ্যাক.ডাব্লু ২

1
না, এটা 10k MySQL ডাটাবেস থাকার অর্থ হবে, কিন্তু তাদের সব 10k একটি একক মাইএসকিউএল ইনস্ট্যান্সের মধ্যে হতে পারে।
খ্রিস্টান

1
"বেন মার্কস" আপনি পরে আসছে এই একটি রেফারেন্স camo.githubusercontent.com/...
কেভিন শ্রোডার

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

1

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

আমি একজন সার্ভার লোক, তাই আমি ডেটাবেসটি সহকারে চলি। বিশেষ করে যেহেতু এটা করতে তুচ্ছ হয়।

আপনার যদি আপনার ডাটাবেস সার্ভারের নিয়ন্ত্রণ থাকে: কোর_কনফিগ_ডাটা টেবিলটির নামকরণ করুন কোর_কনফিগ_ডেটা_অফলাইন মেমোরি স্টোরেজ ইঞ্জিন http://dev.mysql.com/doc/refman/5.7/en/memory-stores-engine.html ব্যবহার করে একটি নতুন কোর_কনফিগ_ডেটা টেবিল তৈরি করুন কোর_কনফিগ_ডেটা_অফলাইন থেকে সমস্ত ডেটা ক্যার_কনফিগ_ডেটা অনুলিপি করুন

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

কনফিগার ক্যাশে বন্ধ করুন। কনফিগার ক্যাশেটি চালু হওয়ার সাথে সাথে আপনি কেবল প্রথমবারের জন্য কনফিগারেশন ডেটাবেস থেকে ডেটা পড়ার জন্য পারফরম্যান্সের উত্সাহ পাবেন - এর পরে এটি ক্যাশে রয়েছে এবং আপনি ক্ষতিগ্রস্থ হন। ডাউনসাইডে এক্সএমএল ফাইলগুলি আর ক্যাশে থাকে না, তাই আপনি এক্সএমএল ফাইলগুলির একগুচ্ছ পার্সিংয়ের পারফরম্যান্সের জন্য বিশাল কনফিগারেশন ডেটা আনসিরিয়ালাইজিংয়ের পারফরম্যান্স হিটকে ট্রেড করেছেন।

আপনি Mage / Core / Model / config.php ফাইলটি পরিবর্তন করতে এবং পৃথক ওয়েবসাইট ক্যাশে সক্ষম করতেও পরীক্ষা করতে পারেন experiment ডিফল্টরূপে প্রতিটি স্টোরের নির্দিষ্ট কনফিগারেশন ডেটা পৃথকভাবে ক্যাশে করা হয়। সমস্ত ওয়েবসাইট কনফিগারেশন ডেটা এক বস্তুতে ক্যাশে করা হয়।

মনে রাখবেন এটি কেবল কনফিগারেশন ওভাররাইডের জন্য [অ্যাডমিন সেটিংস]। সুতরাং আপনি যদি স্টোর পর্যায়ে আপনার সমস্ত কনফিগারেশন পরিবর্তন করে থাকেন তবে আপনার ইতিমধ্যে সেট। যদি আপনি "ওয়েবসাইট থেকে উত্তরাধিকারী" ব্যবহার করেন এবং আপনার বেশিরভাগ স্টোর নির্দিষ্ট স্তরের কনফিগারেশনগুলি সাইট স্তরে পরিবর্তন করে থাকেন - তবে ক্যাশে প্রতিটি ওয়েবসাইট থাকে। এটিকে বিভক্ত করে আপনি এটিকে আরও ভালভাবে ভেঙে ফেলতে পারেন। সুরক্ষিত $ _cacheSections = অ্যারে ('অ্যাডমিন' => 0, 'প্রশাসনিক "=> 0,' ক্রোনটব '=> 0,' ইনস্টল '=> 0,' স্টোর '=> 1,' ওয়েবসাইটগুলি '=> 0);

প্রতি

protected $_cacheSections = array(
    'admin'     => 0,
    'adminhtml' => 0,
    'crontab'   => 0,
    'install'   => 0,
    'stores'    => 1,
    'websites'  => 1
); 

হাই গ্যারি, এই ধরনের সহায়ক উত্তরের জন্য আপনাকে ধন্যবাদ! আমার কিছু প্রশ্ন রয়েছে: 1) আমার পর্যবেক্ষণ থেকে, ডাটাবেস ক্যোয়ারী কোনও সমস্যা নয় এমনকি 1 কেও বেশি ওয়েবসাইট / স্টোর সহ; সুতরাং যদি এটি হয়, মেমরি স্টোরেজ ব্যবহার এখনও সাহায্য করবে? 2) আমি জানি না এটি সঠিক কিনা, তবে কনফিগার ক্যাশে কেবল সিস্টেম এবং মডিউল সম্পর্কিত তথ্য সঞ্চয় করে বলে মনে হয়; তাই এটি ওয়েবসাইট / দোকান কনফিগারেশন কি কিছু আছে? 3) কোনও মজেন্তোর জন্য কোনও এইচটিপি অনুরোধ থেকে একটি নির্দিষ্ট স্টোর / ওয়েবসাইট আইডি সনাক্ত করার কোনও উপায় আছে এবং কেবলমাত্র এটির সাথে সম্পর্কিত কনফিগারেশন ফাইলটি লোড করা যায়? গ্যারি আপনাকে অনেক ধন্যবাদ!
জ্যাক.ডাব্লু

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

আরে কেভিন, উত্তরের জন্য ধন্যবাদ; প্রকৃতপক্ষে আমি কোর_কনফিগ_ডেটা টেবিলটিকে মেমোরিতে স্থানান্তরিত করার, সিস্টেম এবং মডিউল কনফিগারেশনের জন্য ক্যাশে সক্ষম করার জন্য, কোর_কনফিগ_ডাটা কনফিগার ট্রিতে একীভূত হওয়া থেকে বিরত রাখতে এবং ডাটাবেস থেকে সরাসরি কোয়েরির তথ্যের এই অংশটি পড়া ফাংশনগুলি তৈরির পরিকল্পনা করছি। আপনি কি মনে করেন?
জ্যাক.ডাব্লু

1
সমস্যাটি কোর_কফিগ_ডাটা নয়। সমস্যাটি হ'ল স্টোর কনফিগারেশনগুলি / ওয়েবসাইটগুলি থেকে মার্জ করা হয় যা এক্সএমএলে / গ্লোবাল থেকে একত্রিত হয় ডাটাবেস পুরোপুরি ঠিক থাকবে। এটি পিএইচপি যা কনফিগারেশন মার্জ হওয়ার কারণে জীবনকে ঘৃণা করবে। আপনার ডিবাগার পদক্ষেপে Mage_Core_ মডেল_ রিসোর্স_ কনফিগ :: লোডটক্সএমএল 110 লাইনগুলিতে বিশেষ মনোযোগ দিচ্ছে এবং নিম্নলিখিতগুলি
কেভিন শ্রোয়েডার

1
এখন আমার স্মৃতি টেবিলে ফিরে আসা। ডেটা ক্যাশে করার অর্থ এটি এটিকে কোথাও সঞ্চয় করা যা দ্রুত অ্যাক্সেস করা যায়। ম্যাজেন্টো একটি পিএইচপি সিরিয়ালাইজড অবজেক্টে কনফিগারেশন ডেটা ক্যাশে করে - যদি আপনার কনফিগারেশন ডেটা বিশাল হয় তার অর্থ পিএইচপি প্রতিটি অনুরোধের জন্য বিপুল পরিমাণে ডেটারিয়ালাইজ করতে হয়। আপনি যদি xdebug কীভাবে ব্যবহার করতে জানেন, আপনার কিছু ধীর পৃষ্ঠার লোড প্রোফাইল দিন এবং আনসিরালাইজ ফাংশনটি চালাতে কতটা সময় ব্যয় হয়েছে তা দেখুন: php.net/manual/en/function.unserialize.php - যদি এটি বিশাল [100 মিমি থেকে বেশি] হয় তবে "ক্যাশে" কনফিগারেশনটি আপনার সিস্টেমকে ভঙ্গ করছে।
গ্যারি মর্ট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.