গতি বাড়ান ম্যাজেন্টো সাবান ভি 1


10

অভিজ্ঞ ম্যাজেন্টো বিকাশকারীদের কাছে আমার একাধিক প্রশ্ন রয়েছে:

  1. ম্যাজেন্টো ভি 1 সাবান এপিআই এর গতি বাড়ানো কি সম্ভব? ডেটা অনুরোধ করার সময় গ্রাহক ঠিকানা ইত্যাদির মতো সাধারণ তথ্য সংকলন করার জন্য ম্যাজেন্টোটির জন্য দ্রুত 1.5 সেকেন্ড সময় লাগে ...

    একাধিক সম্ভাব্য প্রাসঙ্গিক ডেটা নোডের অনুরোধ করতে প্রায় 5-7 সেকেন্ড সময় লাগতে পারে।

    এখনই আমি এজেএক্স অনুরোধগুলির মাধ্যমে ইতিমধ্যে সেই অনুরোধগুলি করছি যাতে পৃষ্ঠা ইন্টারফেসটি দ্রুত লোড হয় তবে একটি গতির উন্নতি চমৎকার হবে।

  2. অথবা সরাসরি ম্যাজেন্টো ডিবি থেকে প্রাসঙ্গিক তথ্য দেওয়ার জন্য আমার নিজের আবেদনটি লেখার চেয়ে আরও ভাল হবে? এটি কোনও ডিবি-তে জটিল নয় এবং আমি যদি সরাসরি জিজ্ঞাসা করি তবে এটি ফলাফল সহ সেকেন্ডের 100 তম মধ্যে লোড হয়ে যায় ...

    এই বিকল্পটি নিয়ে আমার কেবল বিবেচনা হ'ল:

    1. যদি ম্যাজেন্টো আপডেট করে এবং এটি ডাটাবেস স্কিম পরিবর্তন করে?
    2. অথবা ম্যাজেন্টোর ডেটাবেস সেটআপ তুলনামূলকভাবে নিরাপদ / নীচের দিকে সামঞ্জস্যপূর্ণ?

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


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

3
নাহ, এটি পিএইচপি বাউন্ড নয় ... এটি ম্যাজেন্টোর পুরো সেটআপ যা জিনিসগুলি অবিশ্বাস্যভাবে হ্রাস করে। একাধিক আইটেম এবং শপিং কার্ট সহ একটি বড় স্টোরভিউ পৃষ্ঠা অনুরোধ করার চেয়ে সাবান এপি অনুরোধটি সম্পূর্ণ হতে বেশি সময় নেয়। ম্যাজেন্টো ডিজাইনে কিছু জিজ্ঞাসা করা হয়েছে।
তুষাল্লাকা 8

উত্তর:


8

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

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


ঠিক আছে, আমি যদি ম্যাজেন্টো থেকে নিজেই কিছু তৈরি করতাম তবে আমি খুব বেশি গতির সুবিধা অর্জন করতে পারিনি যেহেতু ম্যাজেন্টোটিকে অনুরোধটি পরিচালনা করতে এখনও "বুটআপ" করতে হবে। আমি সাবান এপি পছন্দ করি কারণ এটি "পরিবর্তিত হয় না" তবে আমি এটিকে ঘৃণা করি যে সর্বাধিক প্রশ্নের সাথে সাড়া দেওয়া এতটাই অপ্রতিরোধ্য slow এমনকি মূল সাইট যা আরও অনেক অনুরোধগুলি পরিচালনা করতে পারে তা অনেক দ্রুত।
তিশাল্লাকা

আমি যা করার চেষ্টা করছি তা হল আমাদের ইআরপি সফ্টওয়্যারটির সাথে ম্যাজেন্টোকে লিঙ্ক করা, সুতরাং যে কোনও সময় আমার সাম্প্রতিকতম ডেটাতে অ্যাক্সেস প্রয়োজন need
তিশাল্লাকা

1
হতে পারে - আমার ক্ষেত্রে, আমি এমন জিনিস লিখছিলাম যা বর্ধিত আইডি দ্বারা কোনও অর্ডার লোড করবে, তার তথ্যের ভিত্তিতে কিছু ক্রিয়া সম্পাদন করবে। সম্পূর্ণ অর্ডার লোড করা ছিল এসওএপি এপিআইতে প্রায় 1.5 সেকেন্ড, বা "কাঁচা বস্তু" আকারে একটি সেকেন্ডের ক্ষুদ্র ভগ্নাংশ। আমার পক্ষে পছন্দটি স্পষ্ট ছিল যে আমি যখন একক রানের মধ্যে শত শত লোড করব। আরেকটি বিধিনিষেধটি হ'ল এটি "ম্যাজেন্টো অ্যাপ্লিকেশন" স্টাইলটি করার মাধ্যমে এটি একই সার্ভারে থাকা উচিত। আমার ক্ষেত্রে, আমি এটি মোটেও আপত্তি করি না, তবে এটি মনে রাখার মতো।
মাইকে

1
আপনি কীভাবে কাঁচা বস্তু আকারে সবকিছু লোড করলেন?
তুষাল্লাকা 8

$order = Mage::getModel('sales/order')->load($order_id);মূলত। এই ফোরামে থ্রেডে একটি বা দুটি স্নিপেট রয়েছে যা আরও চিত্রিত করতে পারে: ম্যাজেন্টোকোমার্স
মাইকে

6

এসওএপি এপি চালিয়ে দেওয়া কঠিন হতে চলেছে। আপনি সর্বদা কিছু অতিরিক্ত হার্ডওয়্যার (দ্রুত মাইএসকিউএল সার্ভার) ফেলে দিতে পারেন বা এনগিনএক্স-এ স্টোর চালাতে পারেন যা যখন আপনি কয়েক মিলি সেকেন্ডে করেন, বড় পরিমাণে HTTP অনুরোধগুলি পরিচালনা করতে NginX আরও ভাল। বেশিরভাগ কলের প্রতিক্রিয়া যতবার পৃথক হবে ততই ক্যাচিং সত্যই সহায়তা করবে না।

ম্যাজেন্টো কোর মডেলগুলি ব্যবহার করে স্ক্র্যাচ থেকে আপনার নিজস্ব এপিআই তৈরি করা দ্রুততম সমাধান হতে পারে কারণ আপনি যা প্রয়োজন ঠিক তা লোড করে পারফরম্যান্স উন্নত করতে আপনি কোডটি টুইঙ্ক করতে পারেন। মূল ক্লাসগুলি ব্যবহার করে আমার অভিজ্ঞতা থেকে এর সংস্করণ 1.5 এবং 1.7 এর মধ্যে খুব বেশি পরিবর্তন হয়নি

সম্পাদনা: আমি ভুলে গিয়েছি, এইচটিএকসেস বা php.ini ফাইলটিতে জিপিপ আউটপুট সংক্ষেপণ চালু হতে বা যদি আপনি মনে করেন যে এসওএপি এপি একই ডাটাবেসটি ব্যবহার করে অন্য সার্ভারে সओএপি এপি স্থানান্তরিত করে যদি মাইএসকিউএল ডাটাবেস না থাকে বাধা


1
মাইএসকিএল ডাটাবেস বোতলের ঘাড় নয়, বোতলটির ঘাড়টি ম্যাগেন্টো তার সমস্ত কনফিগারেশন ফাইল বুট করা, ক্র্যাপের প্রতিটি টুকরোগুলি লোড করা, একটি সাবান এপিআই সংকলন করা এবং অবশেষে মনে রাখবেন যে আমি একটি অনুরোধ করেছি, সেই তথ্যটি আনা, এটি মূল্যায়ন, সংকলন এটি অনুরোধ করা বিন্যাসে রূপান্তর করুন, ফর্ম্যাটটি যাচাই করুন এবং তারপরে সাবান সংযোগের মাধ্যমে আউটপুট করুন .... চেক চেক চেক ডাবল চেকটি দুর্দান্ত ... তবে এটি খুব ধীর slow এটি শুরুতে ঠিকঠাক করবে তবে কিছু সময় গতি বাড়ানো দরকার।
তিশাল্লাকা 8

ম্যাগান্টোর নেটিভ ক্যাশে কনফিগার ফাইল সংযুক্ত করার জন্য আপনাকে সেখানে সহায়তা করা উচিত এবং আপনি কোডটি দ্রুত করতে সংকলকটি ব্যবহার করতে পারেন। এছাড়াও একটি পিএইচপি এক্সিলারেটর ( en.wikiki.org/wiki/PHP_accelerator ) এখানে আপনার কর্মক্ষমতা বাড়িয়ে তুলবে। তবে আপনার ক্ষেত্রে ম্যাজেন্টো কোর এপিআই ব্যবহার করে এমন নিজস্ব API তৈরির দিকে নজর দেওয়া আপনার পক্ষে উপযুক্ত।
স্যান্ডার মঞ্জেল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.