Back to Question Center
0

পিএইচপি-এফপিএম টিউনিং: সর্বোচ্চ পারফরমেন্সের জন্য 'pm স্ট্যাটিক' ব্যবহার করে            পিএইচপি-এফপিএম টিউনিং: ম্যাক্স পারফরম্যান্সের জন্য 'বিবি স্ট্যাটিক' ব্যবহার করা সম্পর্কিত বিষয়: নিরাপত্তা ডেটাবেসন পরিবেশ প্যাটার্নস & অনুশীলনগুলি ডিবাগিং &

1 answers:
পিএইচপি-এফপিএম টিউনিং: সর্বোচ্চ পারফরম্যান্সের জন্য 'pm স্ট্যাটিক' ব্যবহার করে

নিবন্ধের একটি unedited সংস্করণ মূলত স্যামল্ট প্রকাশিত এবং লেখক অনুমতি সঙ্গে এখানে পুনঃপ্রকাশ।

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

  • PM = গতিশীল : নিম্নলিখিত নির্দেশাবলী উপর ভিত্তি করে চাইল্ড প্রসেসের সংখ্যা পরিবর্তনশীল সেট করা হয়: PM তে পোস্ট করা। সর্বোচ্চ_শিক্ষক , বিকাল। start_servers , বিকালে min_spare_servers , বিকালে সর্বাধিক_স্পার_সার্ভার

  • PM = ondemand : প্রক্রিয়াকরণ অনুরোধে যখন বীজ, গতিশীল হিসাবে বিরোধিতা, যেখানে PM তে পোস্ট করা। start_servers শুরু হয় যখন পরিষেবা শুরু হয়।

  • PM = স্থিতিশীল : চাইল্ড প্রসেসের সংখ্যা বিকেল দ্বারা নির্ধারিত হয়। max_children

গ্লোবাল php-fpm এর সম্পূর্ণ তালিকা দেখুন। আরো বিস্তারিত জানার জন্য কনফ নির্দেশাবলী

PHP-FPM প্রসেস ম্যানেজার (পিএম) CPUFreq গভর্নর অনুরূপ

এখন, এটি একটি বিট বন্ধ বিষয় মনে হতে পারে, কিন্তু আমি এটা আমাদের পিএইচপি-এফপিএম টিউনিং বিষয় ফিরে টাই। ঠিক আছে, কিছুক্ষণের মধ্যে আমরা স্লট CPU সমস্যাগুলি করেছি, এটি একটি ল্যাপটপ, ভিএম বা ডেডিকেটেড সার্ভার কিনা। CPU ফ্রিকোয়েন্সি স্কেলিং মনে রাখবেন? (CPUFreq গভর্নর।) এই সেটিংস, উভয় & ast; nix এবং Windows- এ পাওয়া যায়, ondemand থেকে কর্মক্ষমতা থেকে CPU গভর্নর সেটিং পরিবর্তন করে কর্মক্ষমতা এবং সিস্টেমের প্রতিক্রিয়াটি উন্নত করতে পারে। এই সময়, এর বর্ণনা তুলনা করা যাক এবং মিলের জন্য সন্ধান:

  • গভর্নর = ondemand : বর্তমান লোড অনুযায়ী গতিশীল CPU- র ফ্রিকোয়েন্সি। সর্বোচ্চ ফ্রিকোয়েন্সি থেকে চলাচল এবং তারপর নিষ্ক্রিয় সময় বৃদ্ধি হিসাবে স্কেল নিচে।

  • গভর্নর = রক্ষণশীল : বর্তমান লোড অনুযায়ী গতিশীল স্কেল স্কেল। ওডেম্যান্ডের তুলনায় ধীরে ধীরে ফ্রিকোয়েন্সি স্কেল করে।

  • গভর্নর = পারফরম্যান্স : সর্বাধিক ফ্রিকোয়েন্সিতে সবসময় সিপিইউ চালান।

আরো বিস্তারিত জানার জন্য মিমি গভর্নরের বিকল্পগুলির তালিকাটি দেখুন।

মিলের সমমান? আমি প্রথম তুলনায় পিএইচপি- FPM জন্য PM স্ট্যাটিক ব্যবহার করে প্রস্তাবিত একটি নিবন্ধ লিখতে সবচেয়ে ভাল উপায় খুঁজে বের করার উদ্দেশ্য সঙ্গে, প্রথম তুলনায় এই তুলনা ব্যবহার করতে চেয়েছিলেন

সিপিইউ গভর্নরের সাথে, পারফরমেন্স সেটিংটি একটি সুন্দর নিরাপদ পারফরম্যান্স বিকাশ কারণ এটি আপনার সার্ভারে প্রায় সম্পূর্ণভাবে নির্ভরশীল CPU এর সীমা। কেবলমাত্র অন্য কারণগুলিই তাপ, ব্যাটারি লাইফ (ল্যাপটপ) এবং আপনার CPU ফ্রিকোয়েন্সিটিকে 100% স্থায়ীভাবে বন্ধ করার অন্য পার্শ্বপ্রতিক্রিয়াগুলির মতো হবে। একবার কর্ম সঞ্চালনের জন্য সেট, এটি প্রকৃতপক্ষে আপনার CPU জন্য দ্রুততম সেটিং। উদাহরণস্বরূপ, সাবাল্ড Pi- তে 'force_turbo' সেটিংসে পড়ার জন্য, যা আপনার RPi বোর্ডকে পারফরম্যান্স গভর্নর ব্যবহার করতে বাধ্য করে যেখানে কর্মক্ষমতা উন্নতি কম CPU ঘড়ি গতির কারণে বেশি লক্ষণীয় হয়।

আপনার সার্ভারের সর্বোচ্চ পারফরমেন্স অর্জনের জন্য 'pm স্ট্যাটিক' ব্যবহার করা

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

পিএইচপি-এফপিএম টিউনিং: সর্বোচ্চ পারফরমেন্সের জন্য 'pm স্ট্যাটিক' ব্যবহার করেপিএইচপি-এফপিএম টিউনিং: ম্যাক্স পারফরম্যান্সের জন্য 'বিবি স্ট্যাটিক' ব্যবহার করা সম্পর্কিত বিষয়:
নিরাপত্তা ডেটাবেস ডেভেলপমেন্ট পরিবেশ প্যাটার্নস ও অভ্যাসসমূহ ডিবাগিং এবং সেমিট

উপরে স্ক্রিনশটে, এই সার্ভারটি pm = স্ট্যাটিক এবং বিকাল। max_children = 100 যা আনুমানিক প্রায় 10 গিগাবাইট 32 গিগাবাইট ইনস্টল করেছে। আত্ম ব্যাখ্যামূলক হাইলাইট কলাম লক্ষ্য রাখুন। সেই স্ক্রিনশটটির সময় গুগল এনালিটিক্সের প্রায় 200 'সক্রিয় ব্যবহারকারী' (গত 60 সেকেন্ড) ছিল। যে পর্যায়ে, প্রায় 70% পিএইচপি-এফপিএম শিশুদের এখনও নিষ্ক্রিয় রয়েছে। এর মানে পিএইচপি-এফপিএম সর্বদা বর্তমান ট্র্যাফিকের উপর নির্ভর করে আপনার সার্ভারের সম্পদগুলির সর্বাধিক ক্ষমতা নির্ধারণ করে। নিষ্ক্রিয় প্রক্রিয়াগুলি অনলাইনে থাকুন, ট্র্যাফিক স্পিকের জন্য অপেক্ষা করুন এবং অবিলম্বে প্রতিক্রিয়া জানাতে পারেন, বিকেল বেলা শিশুদেরকে বেতনের জন্য অপেক্ষা করতে হবে এবং তারপর x এর পরে তাদের খুন করে process_idle_timeout মেয়াদ শেষ হয়ে যায়। আমার বিকালে max_requests অত্যন্ত উচ্চ সেট কারণ এটি একটি পিএইচপি মেমরি লিঙ্কে কোন উত্পাদন সার্ভার। আপনি PM তেলেগু ব্যবহার করতে পারেন। max_requests = 0 সঙ্গে স্ট্যাটিক আপনি আপনার বর্তমান এবং ভবিষ্যতে পিএইচপি স্ক্রিপ্ট 110% আস্থা আছে। তবে, সময়ের সাথে স্ক্রিপ্ট পুনরায় আরম্ভ করার সুপারিশ করা হচ্ছে। বিন্দু ওভারহেড এড়ানোর জন্য পয়েন্ট থেকে একটি উচ্চ সংখ্যা অনুরোধ সংখ্যা সেট করুন। সুতরাং উদাহরণস্বরূপ অন্তত PM তে পোস্ট করা। max_requests = 1000 আপনার সংখ্যা pm উপর নির্ভর করে। max_children এবং প্রতি সেকেন্ডের অনুরোধ সংখ্যা।

স্ক্রিনশটটি 'ইউ' (ইউজার) বিকল্প এবং পিএইচপি-এফপিএম ব্যবহারকারীর নাম দ্বারা ফিল্ড করে সেমিট শীর্ষে ব্যবহার করে। প্রদর্শিত প্রসেস সংখ্যা শুধুমাত্র 'শীর্ষ' 50 বা তাই (গণনা করা হয়নি), কিন্তু মূলত শীর্ষ শীর্ষ পরিসংখ্যান যা আপনার টার্মিনাল উইন্ডোর মধ্যে মাপসই প্রদর্শন - এই ক্ষেত্রে,% CPU দ্বারা সাজানো সমস্ত 100 পিএইচপি- FPM প্রক্রিয়া দেখতে আপনি কিছু মত ব্যবহার করতে পারেন:

  শীর্ষ- BN1 | grep php-fpm   

বিকালে অদম্য এবং গতিশীল ব্যবহার করার সময়

ব্যবহার PM গতিশীল আপনি অনুরূপ ত্রুটি লক্ষ্য করেছেন:

    সতর্কতা: [পুল XXXXX] ব্যস্ত হয় (আপনি PM তে পোস্ট করা শুরু করতে পারেন। Start_servers, বা PM / min_max_spare_servers), 32 শিশু spawning, 4 নিষ্ক্রিয় আছে, এবং 59 মোট শিশু   

আপনি সেটিংস বৃদ্ধি / সমন্বয় করার চেষ্টা করতে পারেন এবং এই সার্ভারফাউট পোস্টের বর্ণনা অনুযায়ী কেউ একই ত্রুটিটি দেখতে পাবেন। সেই ক্ষেত্রে, বিকালে মিনিট খুব কম ছিল এবং ওয়েব ট্রাফিকটি ডীপ্স এবং স্পাইকগুলির সাথে বেশিরভাগ সময়ই উজ্জ্বল হয়ে উঠেছিল, PM গতিশীল ব্যবহার করে সঠিকভাবে টিউন করা কঠিন হতে পারে সাধারণ পরামর্শ বিড ডেম্যান্ড ব্যবহার করতে হয়। যাইহোক, যে এমনকি খারাপ, কারণ ondemand অলস প্রসেস বন্ধ বন্ধ হবে 0 সঠিক ট্র্যাফিক নেই যখন এবং যখন আপনি ট্র্যাফিক fluctuates হিসাবে ঠিক হিসাবে অনেক ওভারহেড সমস্যা শেষ হবে - যদি না, অবশ্যই, আপনি নিষ্ক্রিয় সময়সীমা সেট অত্যন্ত উচ্চ .যে ক্ষেত্রে আপনি PM তে পোস্ট ব্যবহার করা উচিত। স্ট্যাটিক + একটি উচ্চ PM তে পোস্ট করা সর্বোচ্চ_requests

প্রধানত গতিশীল এবং বিশেষ করে ডেম্যান্ড্যান্ড আপনাকে রক্ষা করতে পারে, তবে আপনার একাধিক পিএইচপি-এফপিএম পুল আছে। উদাহরণস্বরূপ, বিভিন্ন পুলের অধীনে একাধিক CPANEL অ্যাকাউন্ট বা একাধিক ওয়েবসাইট হোস্টিং। উদাহরণস্বরূপ, আমার কাছে একটি সার্ভার আছে, 100+ সিপ্যানেল অ্যাকাউন্ট এবং প্রায় 200+ ডোমেনগুলির সাথে, এবং এটি PM তে পোস্টের জন্য অসম্ভব হবে। ভাল সঞ্চালন স্ট্যাটিক বা এমনকি ডাইনামিক। শুধুমাত্র ondemand ভাল সঞ্চালন, ওয়েবসাইটের দুই তৃতীয়াংশের চেয়ে বেশি কোন ট্র্যাফিকের সামান্য পাবেন। এবং অনডমন্ডের সাথে, এর অর্থ হল সমস্ত শিশুরা সার্ভার মেমোরি টন সংরক্ষণ বন্ধ করবে! ধন্যবাদ, cPanel devs এই figured আউট এবং এখন এটি ondemand ডিফল্ট। আগে ডিফল্ট হিসাবে গতিশীল হিসাবে পিএইচপি- FPM করা ব্যস্ত ভাগ সার্ভার একটি বিকল্প। অনেকে সিপিএলএল পিএইচপি-এফপিএম পুল / অ্যাকাউন্টগুলিতেও স্যামুয়েলিং মেমোরি খাওয়ার জন্য SUPHP ব্যবহার করবে.

উপসংহার

পিএইচপি-এফপিএম এর ক্ষেত্রে, পিএইচপি-এফপিএম এর জন্য গুরুতর ট্র্যাফিক, অনডম্যান্ড এবং ডায়নামিক প্রক্রিয়াকারী ম্যানেজার চালু করার পর আপনি ইনফারেন্ট ওভারহেডের কারণে সীমা অতিক্রম করতে পারেন। আপনার সিস্টেমটি জানুন এবং আপনার সার্ভারের সর্বোচ্চ ক্ষমতার সাথে মেলে এমন আপনার PHP-FPM প্রসেসগুলি সেট করুন। PM তেলেগু সঙ্গে শুরু করুন max_children বাম গতিশীল বা ondemand সর্বাধিক ব্যবহার উপর ভিত্তি করে সেট এবং তারপর মেমরি এবং CPU দরিদ্র না ছাড়া প্রক্রিয়া করতে পারেন যেখানে বিন্দু বৃদ্ধি। আপনি যে স্ট্যাটিক বিক্রি সঙ্গে বিজ্ঞপ্তি পাবেন, কারণ আপনি সবকিছু মেমোরিতে বসা রাখা, সময়ের সাথে ট্রাফিক spikes কম স্পিক CPU এবং আপনার সার্ভারের লোড এবং CPU গড় সহজ হবে হতে পারে। আপনার পিএইচপি-এফপিএম পদ্ধতির গড় সাইজটি প্রতি ওয়েব সার্ভারের মধ্যে ম্যানুয়াল টিউনিংয়ের প্রয়োজন হবে, এইভাবে আরো স্বয়ংক্রিয়ভাবে ওভারহেড প্রক্রিয়াকর্মী পরিচালকদের - ডাইনামিক এবং অনডম্যান্ড - আরো জনপ্রিয় সুপারিশগুলি কেন? এই একটি দরকারী নিবন্ধ আশা করি।

আপডেট: যুক্ত A / B বেঞ্চমার্ক তুলনা গ্রাফ। পিএইচপি-এফপিএম প্রসেসিং মেমোরি ধারণ করে মেমরি ব্যবহারের পরিমাণ বাড়ানোর জন্য কর্মক্ষমতা বাড়িয়ে দেয় এবং অপেক্ষা করতে থাকে আপনার সেটআপ মিষ্টি স্পট খুঁজুন

পিএইচপি-এফপিএম টিউনিং: সর্বোচ্চ পারফরমেন্সের জন্য 'pm স্ট্যাটিক' ব্যবহার করেপিএইচপি-এফপিএম টিউনিং: ম্যাক্স পারফরম্যান্সের জন্য 'বিবি স্ট্যাটিক' ব্যবহার করা সম্পর্কিত বিষয়:
নিরাপত্তা ডেটাবেস ডেভেলপমেন্ট পরিবেশ প্যাটার্নস ও অভ্যাসসমূহ ডিবাগিং এবং সেমিট

- аватар мечта
February 28, 2018