المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : إغلاق العمليات التي تضغط على السيرفر SERVER بشكل تلقائي PRM



linnou
11-02-2013, بتوقيت غرينيتش 01:37 AM
السلام عليكم ورحمة الله وبركاته

كلنا بنواجه مشكلة الضغط على السيرفر SERVER لأن عادة إحنا كمستضفين عرب سياسة تعاملنا مع العميل بتكون سلسة زيادة عن اللزوم بالإضافة إلى إن نوعية البرمجة والاسكربتات اللي بتستخدم في المواقع العربية بتكون ضاغطة على السيرفر SERVER جداً بحيث ان يكاد يكون كل موقع محتاجله سيرفر SERVER لوحده http://www.dzbatna.com/images/smilies/cupidarrow.gif

ده بيؤدي طبعاً إن لما موقع بعينه يضغط على موارد السيرفر SERVER الاساسية بيأثر على باقي المواقع المستضافة على السيرفر SERVER كله لأنه هيسحب من قوة السيرفر SERVER ككل اللى بتتقسم على مجموع العملاء!

وما بتتحلش المشكلة غير بوجودك لفحص سبب الضغط واغلاق العمليات الضاغطة على السيرفر SERVER...
عشان كدة انا جايب حل سحري النهاردة لأصحاب السيرفر SERVERات, PRM (Process Resource Monitor)

ده عبارة عن برنامج بيكتشف العمليات اللي تضغط السيرفر SERVER اوتوماتيك طبقاً للإعدادات ويقوم بإغلاقها Kill process
وتقدر كمان تعدله بحيث يشتغل على عملية معينة او خاصية معينة, زي مثلاً ظبط mysql service انها ما تستهلكش أكتر من 40% او الـ exim تحدده لـ 20% وهكذا, ولو تجاوز النسبة دي يتم اغلاق العملية بشكل تلقائي لضمان استقرار السيرفر SERVER حتى في حالة عدم وجودك

خطوات العمل كالتالي:

هندخل الـ shell ونبدأ عملية التنصيب setup :

رمز Code:
cd /usr/local/src
رمز Code:
wget http://www.rfxn.com/downloads/prm-current.tar.gz
رمز Code:
tar-zxvf PRM-current.tar.gz
رمز Code:
cd PRM-0 .*
بحيث PRM-0.* = اسم المجلد بعد فك الضغط على حسب اسم النسخة اللى هيتكتب قدامك http://www.dzbatna.com/images/smilies/cupidarrow.gif

رمز Code:
. / install.sh
رمز Code:
nano-w /usr/local/PRM/conf.prm
عدل قيمة USR_ALERT = “0″ إلى USR_ALERT = “1″

عدل USR_ADDR = “root” بدلاً من root قم بوضع ايميلك بحيث يجيلك تنبيهات باللي حصل http://www.dzbatna.com/images/smilies/cupidarrow.gif

عدل LC="0" طبقاً للوقت اللي تحب الاسكربت يشتغل تلقائياً لفحص الضغط, علماً بأن:
1 = 5 دقائق
2= 10 دقائق
3= 15 دقيقة

عدل MIN_LOAD="1" الي الحد الأدنى للضغط على السيرفر SERVER المتطلب لتشغيل الاسكربت, لو الضغط أقل من الرقم المحدد الاسكربت مش هيعمل حاجة

عدل WAIT="10" إلى العدد بالثواني التي تريد الاسكربت ان ينتظرها على العملية الضاغطة على السيرفر SERVER قبل أن يقوم بإيقافها

عدل KILL_TRIG="3" إلى عدد مرات الانتظار قبل انهاء العملية المخالفة, والاوبشن ده مرتبط باللي قبله بحيث ان كدة لو عملية مخالفة وانا مديها فرصة 3 مرات, يبقى كل مرة بديها الفرصة لمدة 10 ثوانى لو كنت انا محدد wait="10"

عدل MAXCPU="35" إلى النسبة المئوية من استهلاك البروسيسور حتى يتم تعليم العملية بمخالفة

عدل MAXMEM="15" إلى النسبة المئوية من استهلاك الرامات حتى يتم تعليم العملية بمخالفة

الآن يمكنك تشغيل البرنامج من خلال:
'/usr/local/prm/prm'
أو
'/usr/local/sbin/prm'

والبرنامج ليه أمرين او طريقتين تشغيل,
PRM-q للوضع الهادىء او الصامت
PRM-s للوضع الطبيعي " عن نفسي أفضل الصامت "

يمكنك متابعة ملف سجل العمل للبرنامج من خلال:
'/usr/local/prm/prm_log'




وكذلك العمليات التي تم ايقافها من خلال:
'/usr/local/prm/killed/'

وأخيراً, هناك قائمة للمستخدمين او العمليات التي تتم ويجب تجاهلها من خلال البرنامج وهي موجودة في المسار التالي:
'/usr/local/prm/ignore'

الوضع الطبيعي هو استثناء:
root
named
postgre

لكن يمكنك اضافة المزيد او حذف ما تريده منهم, لكن ينصح طبعاً بعدم حذف أي منهم حتى لا يسبب مشكلة كبرى في السيرفر SERVER !!

بالتوفيق, تقبلوا تحياتي http://www.dzbatna.com/images/smilies/cupidarrow.gif




https://fbcdn-sphotos-d-a.akamaihd.net/hphotos-ak-ash4/482113_236967293114455_1193518507_n.png (http://www.dzbatna.com)
©المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى (http://www.dzbatna.com)©

استعمل مربع البحث في الاسفل لمزيد من المواضيع


سريع للبحث عن مواضيع في المنتدى