এর একটি নম্বর আছে MPM মডিউল তিনটি প্রধান বেশী (মাল্টি প্রসেসিং মডিউল), কিন্তু দ্বারা পর্যন্ত সবচেয়ে বহুল ব্যবহৃত (অন্তত * স্নো প্ল্যাটফর্মের উপর): prefork
, worker
, এবং event
। মূলত, তারা অ্যাপাচি ওয়েব সার্ভারের বিবর্তনকে উপস্থাপন করে এবং সেই দীর্ঘ সময়ের (সফ্টওয়্যার শর্তাবলী) ইতিহাসের সময়কালের কম্পিউটিং সীমাবদ্ধতার মধ্যে এইচটিটিপি অনুরোধগুলি পরিচালনা করার জন্য সার্ভারটি নির্মিত হয়েছে বিভিন্ন উপায়ে।
mpm_prefork
ভাল .. এটি সবকিছুর সাথে সামঞ্জস্যপূর্ণ। এটি অনুরোধ পরিবেশন করার জন্য অনেক শিশু প্রক্রিয়া ছড়িয়ে দেয় এবং শিশু প্রক্রিয়াগুলি একবারে কেবল একটি অনুরোধ পরিবেশন করে। যেহেতু এটি সার্ভার প্রক্রিয়াটিতে বসে আছে, ক্রিয়া করার জন্য প্রস্তুত রয়েছে, এবং থ্রেড মার্শালিংয়ের সাথে মোকাবিলা করার প্রয়োজন নেই, এটি আসলে আরও আধুনিক থ্রেডযুক্ত এমপিএমগুলির চেয়ে দ্রুততর হয় যখন আপনি কেবল একবারে একক অনুরোধ নিয়ে কাজ করছেন - তবে সমবর্তী অনুরোধগুলি ভোগ করে, যেহেতু একটি সার্ভার প্রক্রিয়া বিনামূল্যে না হওয়া অবধি তাদের লাইনে অপেক্ষা করতে তৈরি করা হয়েছে। অতিরিক্ত হিসাবে, প্রিফার্ক চাইল্ড প্রক্রিয়াগুলির গণনা বাড়ানোর চেষ্টা করা, আপনি সহজেই কিছু মারাত্মক র্যাম স্তন্যপান করতে পারেন।
থ্রেড নিরাপদ নয় এমন মডিউলের প্রয়োজন না হলে সম্ভবত প্রেফার্ক ব্যবহার করা ভাল নয়।
যদি ব্যবহার করুন আপনি মডিউল যা বিরতি যখন থ্রেড ব্যবহার করা হয় মত, প্রয়োজন mod_php
। তারপরেও, ফাস্টসিজিআই এবং php-fpm
।
যদি ব্যবহার করবেন না: আপনার মডিউলগুলি থ্রেডিংয়ে ভাঙ্গবে না।
mpm_worker
থ্রেডিং ব্যবহার করে - যা সম্মিলনের জন্য একটি বড় সহায়তা। কর্মী কিছু শিশু প্রক্রিয়া বন্ধ করে দেয়, যার ফলে চক্রের থ্রেড বন্ধ হয়ে যায়; প্রেফের্কের অনুরূপ, কিছু স্প্রেড থ্রেডগুলি সম্ভব হলে, আগত সংযোগগুলিতে পরিষেবা রাখা হয়। এই পদ্ধতিটি র্যামের প্রতি অনেক বেশি দয়ালু, যেহেতু থ্রেড কাউন্টের মেমরির ব্যবহারের মতো সরাসরি প্রভাব নেই যেমন সার্ভার গণনা প্রিফার্কে থাকে। এটি আরও সহজেই সামঞ্জস্য পরিচালনা করে, যেহেতু সংযোগগুলিতে কেবল প্রিফের্কে অতিরিক্ত সার্ভারের পরিবর্তে একটি মুক্ত থ্রেড (যা সাধারণত পাওয়া যায়) এর জন্য অপেক্ষা করা প্রয়োজন।
যদি ব্যবহার করুন: আপনি অ্যাপাচি ২.২, বা ২.৪ এ আছেন এবং আপনি প্রাথমিকভাবে এসএসএল চালাচ্ছেন।
যদি ব্যবহার করবেন না: সামঞ্জস্যের জন্য আপনার প্রেফার্ক না লাগলে আপনি সত্যই ভুল হতে পারবেন না।
তবে নোট করুন যে পদক্ষেপগুলি সংযোগগুলির সাথে সংযুক্ত রয়েছে এবং অনুরোধ নয় - এর অর্থ হ'ল চালিয়ে যাওয়া সংযোগটি সর্বদা থ্রেডটি বন্ধ না হওয়া পর্যন্ত ধরে রাখে (যা আপনার কনফিগারেশনের উপর নির্ভর করে দীর্ঘ সময় হতে পারে)। আমাদের কেন ..
mpm_event
কাঠামোগতভাবে শ্রমিকের সাথে খুব মিল; এটি সবেমাত্র অ্যাপাচি ২.৪-তে 'পরীক্ষামূলক' থেকে 'স্থিতিশীল' স্থিতিতে সরানো হয়েছে। বড় পার্থক্যটি হ'ল এটি রক্ষিত-জীবিত সংযোগগুলি মোকাবেলা করার জন্য একটি উত্সর্গীকৃত থ্রেড ব্যবহার করে, এবং কেবল তখনই অনুরোধটি করা হয় তখনই শিশুদের থ্রেডগুলিতে অনুরোধ জানানো হয় (অনুরোধটি শেষ হওয়ার সাথে সাথে সেই থ্রেডগুলি আবার ফিরে আসতে দেয়)। এটি এমন ক্লায়েন্টদের একযোগের জন্য দুর্দান্ত যা একটি সময়ে সমস্ত সক্রিয় নয়, তবে মাঝে মাঝে অনুরোধ করে এবং যখন ক্লায়েন্টদের দীর্ঘায়িত সময়সীমা থাকতে পারে।
ব্যতিক্রম এখানে এসএসএল সংযোগ সহ; সেক্ষেত্রে, এটি কর্মীর সাথে একইভাবে আচরণ করে (সংযোগ বন্ধ না হওয়া পর্যন্ত প্রদত্ত থ্রেডটিতে প্রদত্ত সংযোগটি gluing)।
যদি ব্যবহার করুন: আপনি অ্যাপাচি ২.৪ এ আছেন এবং থ্রেডগুলি পছন্দ করেন তবে নিষ্ক্রিয় সংযোগের জন্য থ্রেড থাকা আপনার পছন্দ নয়। থ্রেড সবাই পছন্দ করে!
যদি ব্যবহার করবেন না: আপনি অ্যাপাচি ২.৪-তে নেই, বা আপনার সামঞ্জস্যের জন্য প্রিফোরক প্রয়োজন।
আজকের স্লোলরিস , এজেএক্স এবং ব্রাউজারগুলির যে আপনার সার্ভারের 6 টিসিপি সংযোগগুলি (অবশ্যই বাঁচিয়ে রাখার সাথে আছে) পছন্দ করে, আপনার সার্ভারের স্কেল এবং স্কেলটি ভাল করে তোলার ক্ষেত্রে কনক্যুরেন্সি একটি গুরুত্বপূর্ণ বিষয়। অ্যাপাচের ইতিহাস এটিকে আবদ্ধ করে রেখেছে, এবং যদিও এটি এখনও রিসোর্স ব্যবহার বা স্কেলের ক্ষেত্রে এনগিনেক্স বা লাইটটিপিডির পছন্দগুলির সাথে সমান নয়, এটি স্পষ্ট যে বিকাশকারী দল একটি ওয়েব সার্ভার তৈরির দিকে কাজ করছে যা এখনও প্রাসঙ্গিক আজকের উচ্চ-অনুরোধ-সমঝোতা বিশ্বে।