কীভাবে ব্যাচের এপিআই অপারেশনগুলি গতিময় করবেন?


12

আমি এই উভয়টিতে তৃতীয় পক্ষের অবদান মডিউলগুলির পাশাপাশি কিছু নিজস্ব ক্রিয়াকলাপ চালিয়েছি। আমার / অবদানকারী ব্যাচের ক্রিয়াকলাপটি গতিময় করার জন্য আমি বিভিন্ন উপায়ে আগ্রহী ?

ধরুন তারা নোড (আমদানি / আপডেট ইত্যাদি) নিয়ে কাজ করে এবং আমরা 10,000+ পরিসীমাতে নোডের তালিকা পার্সিংয়ের সাথে কাজ করছি (যদিও আমাকে 15 মিলিয়ন সারি নিয়ে কাজ করতে হয়েছিল .. যা হ্যাঁ - আমি কেবল এড়িয়ে গেছি। ।)

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

বর্তমানে আমি এমন ক্রিয়াকলাপ চালিয়েছি যা (কিছুটা মোটামুটি গণনা ব্যবহার করে) 24+ ঘন্টা সময় নিতে পারে ...

ধন্যবাদ!

উত্তর:


9

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

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


ইনপুটটির জন্য ধন্যবাদ - আমি আরও মাইগ্রেট মডিউলটি সন্ধান করব এবং সেই দ্রুপাল_বুস্ট্র্যাপটিও দুর্দান্ত এক টিপ ছিল;)
ইলেক্ট্রাব্লেক

8

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

যদি আপনার ব্যাচ দক্ষতার সাথে চালাতে খুব ভারী হয় তবে আপনি তার পরিবর্তে একটি সারি ব্যবহার করার চেষ্টা করতে পারেন। এখানে একটি ভাল ব্যাচ বনাম সারি উপস্থাপনা রয়েছে http://sf2010.drupal.org/conferences/sessions/batch-vs-queue-api-smackdown । সারিগুলি ব্যবহারকারীর প্রতিক্রিয়া সরবরাহ করে না এবং সমান্তরালে চালানো যেতে পারে।

যদি আপনার ব্যবহারকারীর প্রতিক্রিয়া প্রয়োজন হয় তবে আপনি ব্যাচের সাথে আবদ্ধ হন, তবে আপনি এটি আরও অনুকূল করার চেষ্টা করার জন্য আপনার ব্যাচে সারি ব্যবহার করতে পারেন।


2

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


1

আপনি যদি এটি সমান্তরাল করতে পারেন তবে এটি একটি ভাল শুরু। আমি এর আগে আমার কয়েকটা চিন্তাভাবনা রইলাম কারণ আমি এর আগে (বুস্টের মাধ্যমে) মিলিয়ন পৃষ্ঠাগুলিতে ক্রল করার জন্য 4 টি থ্রেড ব্যবহার করেছি। এখনই এটি সাধারণীকরণ করতে চাইছেন। http://groups.drupal.org/node/126624

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