এসওএপি কলগুলিতে কর্মক্ষমতা উন্নত করুন


13

Magento 2.1 এর সাথে আমার একটি পারফরম্যান্স সমস্যা আছে

আমার দোকানে আমার 90.000 টি পণ্য রয়েছে। আমি এই পণ্যগুলি সাবানগুলিতে যুক্ত করেছি। যখন আমি এটি করেছি এটি প্রতিটি নিবন্ধ (পণ্য?) (অনুরোধ> প্রতিক্রিয়া) জন্য প্রায় 7 সেকেন্ড সময় নিয়েছে। সংক্ষেপে, সমস্ত পণ্য শুরু করতে কয়েক দিন সময় লেগেছিল।

এখন সমস্ত পণ্য দোকানে আছে। কয়েক সপ্তাহ ধরে আমাকে নিবন্ধগুলিতে কিছু জিনিস আপডেট করতে হবে (পণ্যগুলি)। আমি যখন আবার সাবান দিয়ে এটি করি, একই সময়কাল লাগে। আমি যখন আপডেট করি তখন দোকানটি ব্যবহারের অযোগ্য। উদাহরণের অনুরোধ এবং প্রতিক্রিয়া এখানে রয়েছে: https://pastebin.com/aqnMJk98 https://pastebin.com/UAh0h8Zz

আমার সার্ভারে একটি 12 কোর সিপিইউ, 24 জিবি র‌্যাম এবং এসএসডি রয়েছে। এটি অ্যাপাচি 2 পিএইচপি 7-এফপিএম এবং এমওয়াইএসকিউএল সহ উবুন্টু 16.04 চলছে।

আমি যখন আপডেট প্রক্রিয়াটি দেখি তখন দেখি যে মাইএসকিউএল সহ 5 টি কোরে 100% পিএইচপি কিছুটা কাজ করছে এবং বাকিটি নিষ্ক্রিয়। মেষটি কেবলমাত্র ব্যবহৃত একটি সামান্য পরিমাণ iotopবলে যে আমার এসএসডি বিরক্ত।

আমি ডাটাবেসের কর্মক্ষমতা দেখেছি এবং দেখেছি যে ম্যাজেন্টো ডাটাবেসে হাজার হাজার কমান্ড যুক্ত করার পদ্ধতিতে বরখাস্ত হয়েছে। এটা কি ঠিক আছে?

আমি যখন ম্যাজেন্টো সিএসভি আমদানির সাথে এটি আপডেট করি তখন এটি আরও দ্রুত।

এই Magento2 গতি বাড়ানোর জন্য আমি কী করতে পারি? এই পরিস্থিতিতে এই দোকানটি দিয়ে ভাল কাজ করা অসম্ভব।


আপনি কোন এক্সটেনশন ব্যবহার করছেন? সমস্যাটি আপনার কোনও একটি এক্সটেনশনের সাথে সম্পর্কিত হতে পারে।
বুনিয়ামিন ইনান

@ টাদিউস আপনি কি গত 2 বছরে আপনার গতির সমস্যাগুলি সমাধান করেছেন? যদি তা না হয় তবে অস্বীকার করুন: আমি আমার প্রোফাইল, নেটওয়ার্ক প্রোফাইলে উল্লিখিত ওয়েবসাইটটির বিষয়বস্তু লেখক, যেখানে পারফরম্যান্স এবং অন্যান্য বিশ্লেষণ পরিষেবাদি উন্নয়নের জন্য আমাদের কাছে বিনামূল্যে ইউটিলিটি স্ক্রিপ্ট রয়েছে।
উইলসন হ্যাক

উত্তর:


1

বাল্ক আমদানি

কীটি হ'ল ব্যাচ আমদানি ব্যবহার করা, যেমন আপনি নিজেরাই উল্লেখ করেছেন:

আমি যখন ম্যাজেন্টো সিএসভি আমদানির সাথে এটি আপডেট করি তখন এটি আরও দ্রুত।

আপনার এসওএপি এপিআই'র পুনর্বিবেচনা বিবেচনা করুন এবং এটিকে একটি বাল্ক মোডে পরিবর্তন করুন, উদাহরণস্বরূপ আপনি এমন কিছু মিডলওয়্যার তৈরি করতে পারেন যা আপনার পণ্যের ডেটা গ্রহণ করবে এবং একটি সিএসভি ফাইল তৈরি করবে যা পরবর্তীতে ম্যাজেন্টোতে ফিড করা যায়।

তৃতীয় পক্ষের কিছু এক্সটেনশন রয়েছে যা এতে সহায়তা করে।

সাধারণ কর্মক্ষমতা পরামর্শ

আপনি নিজেই ম্যাগেন্তোকে দ্রুততর করার চেষ্টা করতে পারেন, তবে আপনি প্রতিটি উন্নতি থেকে 1-10% ডলার বাড়িয়ে নেবেন, যখন আপনি একাধিকটি করেন তখন সুবিধাটি বহুগুণ বৃদ্ধি পায়:

  1. আপনার অদক্ষ কোড না রয়েছে তা নিশ্চিত করুন
    1. আপনার কোড নোটিশ / ত্রুটি / সতর্কবার্তা উত্সাহিত করে না তা পরীক্ষা করে দেখুন
    2. ইনস্টল হওয়া এক্সটেনশনে (তৃতীয় পক্ষ থেকে বা নিজের পক্ষ থেকে) আপনার কাছে ব্যয়বহুল ইভেন্ট শ্রোতা নেই বলে দেখুন।
  2. নোটিশ এবং সতর্কতাগুলি সরিয়ে ফেলার পরে - লগিং অক্ষম করার বিষয়ে বিবেচনা করুন।
  3. আপনি কোন ম্যাজেন্টো এবং তৃতীয় পক্ষের এক্সটেনশানগুলিও ব্যবহার করছেন না তা পরীক্ষা করে দেখুন এবং ম্যাজেন্টো 2 এ আমি কোন মডিউল অক্ষম করতে পারি তা দেখতে অক্ষম করতে পারেন? রেফারেন্সের জন্য।
  4. যদি আপনার ডাটাবেস সার্ভারটি ম্যাগেন্টো অ্যাপ্লিকেশন হিসাবে একই মেশিনে থাকে - আপনি টিসিপি / আইপি সংযোগের পরিবর্তে লিনাক্স সকেট ব্যবহার করছেন তা নিশ্চিত করুন।
  5. আপনার ডেটাবেস সার্ভার যেমন ম্যাগান্টো অ্যাপ্লিকেশনটির মতো একই মেশিনে নেই - নিশ্চিত হয়ে নিন যে পিএইচপি যখনই ডাটাবেসটি অনুসন্ধান করে ততবার ডিএনএস রেজোলিউশন করার দরকার নেই।
  6. ডাটাবেস পারফরম্যান্স টিউনিংয়ের পরামর্শটি পরীক্ষা করুন, ইতিমধ্যে উত্তরের একটিতে পারকোনা নিবন্ধটি উল্লেখ করা হয়েছিল, https://github.com/major/MySQLTuner-perl দেখুন
  7. ম্যাজেন্টো সূচি মোডগুলি পরীক্ষা করে দেখুন, তফসিল অনুসারে সূচিতে স্যুইচ করুন এবং প্রতি রাতে বা আমদানি সম্পূর্ণ হওয়ার পরে পুনর্নির্দেশনা সম্পাদন করুন, পণ্য সংরক্ষণে নয়। https://devdocs.magento.com/guides/v2.2/extension-dev-guide/indexing.html#m2devgde-indexing-modes

উপরের সমস্তটি সম্পন্ন হয়ে গেলে এবং আপনার আরও কর্মক্ষমতা প্রয়োজন:

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

0

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

ম্যাজেন্টো নিজেই ট্র্যাফিক পরিচালনা করার জন্য একটি 5 নোড সার্ভার ক্লাস্টার (1 x ডিবি, 4 এক্স ওয়েবসার্ভার) প্রস্তাব দেয়।

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

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

যদি, এডাব্লুএস মোটেই কোনও বিকল্প নয় তবে আপনি ম্যাজেন্টো এবং পিএইচপি মুছে ফেলার চেষ্টা করতে পারেন। আমি এর জন্য সেটিংস চেক করার পরামর্শ দেব:


0

এই লিঙ্কটি ব্যাখ্যা করে যে কীভাবে মাইএসকিউএল মেমরির ব্যবহার ব্যবহার করতে পারেন। যেহেতু আপনার এত বেশি র্যাম রয়েছে আপনি মাইএসকিউএলকে আরও বেশি বরাদ্দ দিয়ে উপকৃত হতে পারেন। এটি একটি সহজ এবং কম ব্যয়বহুল ($) সমাধান হতে পারে যা ডেডিকেটেড ডেটাবেস সার্ভার তৈরি করে।

https://www.percona.com/blog/2016/05/03/best-practices-for-configuring-optimal-mysql-memory-usage/

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

https://dev.mysql.com/downloads/workbench/

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