সীমাবদ্ধ অ্যাপাচি 2 মেমোরি ব্যবহার


9

আমি একটি প্রাচীন ব্লু অ্যান্ড হোয়াইট জি 3/300 চলমান দেবিয়ান পিপিসি স্কিজেজ 2.6.30 এ বন্ধ করে একটি শখের ওয়েবসারভার চালিয়ে যাচ্ছি। পুনঃসূচনা করার পরে কিছুক্ষণের জন্য পারফরম্যান্স ঠিক আছে, তবে অবশেষে এটি আরও বেশি চাপে পড়ে। এখনই এটি days it's দিনের আপটাইম, এবং মূল অপরাধী 10+ অ্যাপাচি 2 প্রক্রিয়াগুলির মেমরির ব্যবহার বলে মনে হচ্ছে।

আমি মান কমে প্রয়োজন StartServers, MinSpareServersএবং, / অথবা MaxSpareServers, কিন্তু আমি নিশ্চিত যা এক সমন্বয় নই, এবং সেখানে প্রতিটি নির্ভর করে যার উপর MPM মডিউল ব্যবহার করা হচ্ছে তিন বিভাগে আছে।

নিম্নলিখিত বিভাগগুলির মধ্যে আমার কোনটি পরিবর্তন করতে হবে তা আমি কীভাবে বলতে পারি এবং বাক্সটিতে 448 এমবি শারীরিক মেমরি রয়েছে (প্রতিটি 64, 128, এবং 256 স্টিকের একের অদ্ভুত আপগ্রেড ইতিহাস) দেওয়া আছে এমন কিছু যুক্তিসঙ্গত মান কী?

<IfModule mpm_prefork_module>
    StartServers          5
    MinSpareServers       5
    MaxSpareServers      10
    MaxClients          150
    MaxRequestsPerChild   0
</IfModule>

<IfModule mpm_worker_module>
    StartServers          2
    MinSpareThreads      25
    MaxSpareThreads      75
    ThreadLimit          64
    ThreadsPerChild      25
    MaxClients          150
    MaxRequestsPerChild   0
</IfModule>

<IfModule mpm_event_module>
    StartServers          2
    MaxClients          150
    MinSpareThreads      25
    MaxSpareThreads      75
    ThreadLimit          64
    ThreadsPerChild      25
    MaxRequestsPerChild   0
</IfModule>

আমার অ্যাপাচি টু কনফ-তে স্টার্ট সার্ভারের অন্য কোনও দৃষ্টান্ত নেই, তবে এমএমপি মডিউলগুলির কোনওটিই উপস্থিত mods-availableবা উপস্থিত নেই mods-enabled। ধারনা?

ধন্যবাদ!


আমি এই ধারণাটি নিয়ে চলেছি যে আপনার বাক্সটি মেমরির তুলনায় কম চলছে (এবং আপনার লাউস পারফরম্যান্স ভারী অদলবদল করে আসছে)। আপনি যদি অদলবদল না করে থাকেন তবে আমি আপনাকে বিশদ বিবরণে বাগ দেব :-)
voretaq7

উত্তর:


6

400MB আজকাল কোনও ওয়েব সার্ভারের জন্য খুব বেশি নয় - আপনি বাক্সটি প্রতিস্থাপনের বিষয়টি বিবেচনা করতে পারেন :)

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

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

বৃহত্তর মানগুলি (কয়েক হাজার বা তার মধ্যে) দিয়ে শুরু করুন এবং কয়েকশোতে যাওয়ার চেষ্টা করুন। আপনি যদি প্রতি সন্তানের জন্য 100 টি অনুরোধের নীচে পান তবে আপনার মেমোরি ফুটোটি যথাযথভাবে ঠিক করার পক্ষে এটি যথেষ্ট বড় কারণ ক্রমাগত নিহত হওয়া এবং অ্যাপাচি কর্মীদের পুনরায় স্প্যানিংয়ের ফলে পারফরম্যান্স তাৎপর্যপূর্ণ হবে।


পুনরায়: কোন এমপিএম সামঞ্জস্য করতে হবে, উত্তরটি অবশ্যই অবশ্যই prefork
আপনি দৌড়ে httpd -Vগিয়ে Server MPM:লাইনের সন্ধান করতে পারেন যা আপনাকে অবশ্যই বলবে।


1
-ভি আমাকে প্রয়োজনীয় প্রিফোরক তথ্য দিয়েছে (যদিও এটি আমার ক্ষেত্রে অ্যাপাচি 2-ভি)। ধন্যবাদ!
আল্ট্রানার্ড

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

1
আপনি যদি প্রচুর অনুরোধগুলি পরিচালনা না করে থাকেন তবে আপনি আপনার মূল পোস্টে উল্লিখিত হিসাবে স্টার্ট ও স্পেয়ার সার্ভারের গণনাগুলিও ছাঁটাতে পারেন (র‌্যামের ব্যবহার হ্রাস করার জন্য বিকাশ সিস্টেমে আমি এগুলি সমস্ত 2 এবং 5 এর মধ্যে কিছুতে সেট করে
রেখেছি

আমি ন্যূনতম এবং সর্বাধিক স্পেসগুলি 5 এবং 10 থেকে 3 এবং 6 এ নামিয়ে দিয়েছি এবং জিনিসগুলি অদলবদল থেকে রক্ষা করার জন্য যথেষ্ট পরিমাণ র‌্যাম বাকী ছেড়ে যাচ্ছে বলে মনে হচ্ছে। ধন্যবাদ!
আল্ট্রানার্ড

1

অ্যাপাচি প্রক্রিয়াটির মেমরির ব্যবহারটি কমাতে আপনি ম্যাক্সক্লিয়েন্টস সামঞ্জস্য করতে চাইবেন।

থাম্বের সাধারণ নিয়মটি হল: (সর্বোচ্চ পছন্দসই মেমরি) / (1 অ্যাপাচি প্রক্রিয়ার মেমরির ব্যবহার) = # সর্বোচ্চ ক্লায়েন্ট

শেষ অবধি আপনার নিজেরকে ম্যাক্সস্পার সার্ভারস <= সর্বোচ্চ ক্লায়েন্ট হতেও সমন্বয় করতে হবে ।

একটি প্রক্রিয়ার মেমরির ব্যবহার আপনি যে মডিউলগুলি লোড করেছেন তার উপর দৃ strongly়ভাবে নির্ভরশীল (পিএইচপি ইত্যাদি) যাতে আপনি ম্যাক্স ক্লায়েন্টকে কিছুটা কম সেট করতে চাইতে পারেন।

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