কোনটি ইনস্টল করবেন: অ্যাপাচি ওয়ার্কার বা প্রেফের্ক? প্রত্যেকের (ডিস-) সুবিধা কী কী?


55

প্রেফোর্ক এবং ওয়ার্কার এমপিএম উভয়ের বর্ণনার উপর ভিত্তি করে , মনে হয় প্রেফার্ক টাইপটি কিছুটা পুরানো, তবে আমি সত্যিই দুটি ধরণের সঠিক তুলনা খুঁজে পাই না।

আমি জানতে চাই কি:

  • দুটি সংস্করণের মধ্যে পার্থক্য কি?
  • প্রতিটি সার্ভারের ধরণের (ডিস-) সুবিধা কী কী?
  • শর্তের উপর ভিত্তি করে কোন ধরণের পছন্দ করার জন্য কোনও প্রাথমিক নির্দেশিকা রয়েছে?
  • দুজনের মধ্যে কি কোনও বড় পারফরম্যান্স পার্থক্য রয়েছে?

উত্তর:


40

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


3
যদি আপনি পিএইচপি না চালিয়ে থাকেন তবে আমি কর্মী এমপিএমকে সুপারিশ করতাম। কর্মী হ'ল অ্যাপাচি থেকে প্রস্তাবিত এমপিএম, এবং আরও ভাল পারফরম্যান্স এবং নিম্ন ওভারহেড দেয়। এটি কেবলমাত্র পিএইচপি বিকাশকারী থ্রেড-সুরক্ষা সম্পর্কে কখনও শুনেনি যা আপনার প্রেফের্ক ব্যবহার করা উচিত।
ডেভিড পাশলে

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

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

5
কমপক্ষে ফাংশন পরিবর্তনের ENV পরিবর্তনশীল থ্রেড নিরাপদ হবে না, সেটলোকাল php.net/manual/en/function.setlocale.php এটির একটি সাধারণ উদাহরণ।
ব্যাসার্ধ

4
একটি নোট: পিএইচপি সংযুক্ত করা থাকলে এই সমস্যাগুলি প্রযোজ্য না যেমন php-fpmফাস্টসিজিআইয়ের মাধ্যমে। তারপরে কর্মী এমপিএম ঠিক আছে - তারপরে এফএমপি প্রতিটি পিএইচপি অনুরোধটি একটি নিজস্ব প্রক্রিয়াতে চালাবে যখন আপাচি থ্রেডড চালাতে পারে। পিএইচপি-থ্রেড-সুরক্ষা সমস্যা কেবল আপনাকে ব্যবহার থেকে বিরত রাখে mod_php, যা অ্যাপাচি প্রক্রিয়াটির মধ্যে পিএইচপি চালায়।
মিশচিউট

13

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

স্থির এবং গতিশীল সামগ্রীর মিশ্রণ পরিবেশন করার সময় এটি আপনাকে সামান্য পরিমাণ মেমোরি (4 ~ 8 গিগাবাইট) সহ কয়েক হাজার> 1000 সমবর্তী সংযোগগুলি থেকে স্কেল করতে সক্ষম করবে।

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

বিকল্পভাবে, অ্যাপাচি ২.৪ এবং তার নেটিভ ইভেন্ট এমপিএম-এ আপগ্রেড করুন , যা অনেক উন্নত ফ্যাশনে সম্মতিটি পরিচালনা করে (থ্রেড সংযোগের পরে বন্ধ হয়ে যায়, পোল হওয়ার অপেক্ষা না করে))


আপনি ইভেন্ট এমপিএম মন্তব্য প্রসারিত করতে পারেন? এটি এমপিএম-কর্মী বনাম কীভাবে স্ট্যাক আপ করে?
সাইরেক্স

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

সুতরাং এটি উচ্চ ট্র্যাফিক (13 কে / সেকেন্ড) সাইটগুলিতে আরও ভাল কাজ করা উচিত?
সাইরেক্স 20'8

6

প্রশ্নটি পোস্ট হওয়ার প্রায় 3 বছর হয়ে গেছে তবে আমি আপনাকে পিএইচপি ব্যবহার করে প্রি-ফর্ক পরিবর্তে কর্মী এমপিএমের সাথে যাওয়ার পরামর্শ দিচ্ছি, আরও ভাল পারফরম্যান্স পেতে।

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


2

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


আপনি নির্বিচারে এমপিএমকে অ্যাপাচি ২.২-তে "অদলবদল" করতে পারবেন না; এটি সংকলন সময় সেট করা হয়।
অ্যাডাপ্টর

আপনি অ্যাপ্ট বা আরপিএম দিয়ে পারেন with আপনি যে স্টাইলটি পছন্দ করেন তার উপর নির্ভর করে ডিবিয়ানের বিভিন্ন ধরণের অ্যাপাচি 2 প্যাকেজ রয়েছে।
ব্রেন্ডন বাইার্ড

1

আপনার যে ধরণের ট্র্যাফিক এবং ধরণের ট্র্যাফিক দরকার তা দরকার। এবং প্রথমে আপনাকে প্রিফেক এবং কর্মীর মধ্যে প্রধান পার্থক্য বুঝতে হবে। আশা করি নীচের নিবন্ধটি আপনাকে চিত্রিত করতে সহায়তা করবে! http://slashroot.in/how-is-nginx-different-from-apache


2
আমরা সামগ্রীতে লিঙ্ক নয়, বিষয়বস্তু থাকতে উত্তর পছন্দ করি। আপনি যদি লিঙ্ক-টার্গেটের কীসের একটি সংক্ষিপ্তসার সরবরাহ করতে পারেন তবে তা সেরা অনুশীলন। লিঙ্ক-পচা হয়।
sysadmin1138

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