تسجيل الدخول

مشاهدة النسخة كاملة : فحص وجود ضغط علي الأباتشي في السيرفر SERVER



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

أسعد الله اوقاتكم بكل خير

درس مفصلنا اليوم إن شاء الله خفيف بمعلومات بسيطه لكنها مهمه لبعض مدراء السيرفر SERVERات .

بعض أصحاب السيرفر SERVERات يجد عادة ثقل في الخدمة و ضعف في اتصال المواقع أو بطئ في التصفح أو لود علي السيرفر SERVER .

احياناً يكون السبب معلوم حياناً يكون مجهول و درس مفصلنا اليوم إن شاء الله هو أحد طرق الكشف عن مسببات الضغط علي السيرفر SERVER .

بداية نفتح الشل و بعد ذلك ننفذ الأمر التالي :

رمز PHP:

<code style="white-space:nowrap"> <code> top -u apache
</code> </code>

سوف يظهر لنا الأن حالة السيرفر SERVER كمثال :
رمز PHP:

<code style="white-space:nowrap"> <code> top - 05:19:25 up 17 days, 14:04, 0 users, load average: 0.00, 0.04, 0.07
Tasks: 181 total, 1 running, 180 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.1%sy, 0.0%ni, 99.9%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1048576k total, 909652k used, 138924k free, 0k buffers
Swap: 0k total, 0k used, 0k free, 0k cached
</code> </code>

لاحظ هنا عدم وجود اي لود في السيرفر SERVER و في حال كان هناك لود علي السيرفر SERVER سوف تجد load average: 0.00 تحتوي علي رقم عالي .

كمثال :

رمز PHP:

<code style="white-space:nowrap"> <code> top - 21:23:09 up 22 days, 20:06, 2 users, load average: 6.49, 6.95, 8.44
Tasks: 876 total, 4 running, 862 sleeping, 4 stopped, 6 zombie
Cpu(s): 14.2%us, 3.1%sy, 0.0%ni, 32.7%id, 49.7%wa, 0.1%hi, 0.2%si, 0.0%st
Mem: 8158956k total, 8075660k used, 83296k free, 285924k buffers
Swap: 2096472k total, 180k used, 2096292k free, 4195764k cached
</code> </code>

نلاحظ في المثال الثاني أن اللود load average: 10.00

في حالة أن اللود من الأباتشي سوف تلاحظ في المربع الجدول الذي سوف يظهر معك عند استخدام الأمر :

رمز PHP:

<code style="white-space:nowrap"> <code> PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1111 apache 20 0 55555 6666 777 S 0 0.2 0:00.00 apache2
2222 apache 20 0 55555 6666 777 S 0 0.2 0:00.00 apache2
</code> </code>

انظر هنا إلي ظهور apache و هذا يعني ان هناك ضغط زائد من هذه الخدمة و يجب عليك حل المشكلة.

الأن نراجع العمليات التي يقوم بها الأباتشي علي السيرفر SERVER مستخدمين الأمر التالي :

رمز PHP:

<code style="white-space:nowrap"> <code> ps -ef | grep httpd | wc -l
</code> </code>

في حال وجدنا الرقم أقل من 40 فهي نتيجه مقبوله في حال كان لديك مواقع متوسطه علي السيرفر SERVER .

بعد ذلك نراجع الأتصالات الموجوده علي الخدمة بالأمر التالي :

رمز PHP:

<code style="white-space:nowrap"> <code> netstat -tn
</code> </code>

سوف تكون النتيجه لك بالشكل التالي :

رمز PHP:

<code style="white-space:nowrap"> <code> Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State



tcp 0 0 72.29.77.8:80 82.145.210.17:57446 ESTABLISHED
tcp 0 0 72.29.77.8:80 82.145.210.17:57447 ESTABLISHED
tcp 0 0 72.29.77.8:80 82.145.210.17:57445 TIME_WAIT
tcp 0 0 72.29.77.8:80 82.145.210.17:57448 ESTABLISHED
tcp 0 0 72.29.77.8:80 82.145.210.17:57449 ESTABLISHED
tcp 0 0 72.29.77.8:80 82.145.210.17:57395 TIME_WAIT
tcp 0 0 72.29.77.8:80 82.145.210.17:57393 TIME_WAIT
tcp 0 0 72.29.77.8:80 82.145.210.17:57399 TIME_WAIT
tcp 0 0 72.29.77.8:80 82.145.210.17:57396 TIME_WAIT
tcp 0 0 72.29.77.8:80 82.145.210.17:57400 ESTABLISHED
tcp 0 0 72.29.77.8:80 82.145.210.17:57338 TIME_WAIT
tcp 0 0 72.29.77.8:80 178.77.165.173:1699 TIME_WAIT
tcp 0 0 72.29.77.8:80 178.77.165.173:1696 TIME_WAIT
tcp 0 0 72.29.77.8:80 178.77.165.173:1702 TIME_WAIT
tcp 0 0 72.29.77.8:80 178.77.165.173:1701 TIME_WAIT
tcp 0 0 72.29.77.8:80 178.77.165.173:1689 TIME_WAIT
tcp 0 0 72.29.77.8:80 178.77.165.173:1694 TIME_WAIT
tcp 0 0 72.29.77.8:80 66.249.71.151:53745 TIME_WAIT
tcp 0 0 72.29.77.8:80 67.195.110.162:38854 TIME_WAIT
tcp 0 0 72.29.77.8:80 67.195.110.162:41900 TIME_WAIT
</code> </code>

يظهر لك هنا الأيبهات المتصله مع الخدمة و عدد الطلبات التي تتم علي سيرفر SERVERك منها .

ايضاً هذا الأمر يظهر الاتصالات المسببه لأي ضغط لديك :

رمز PHP:

<code style="white-space:nowrap"> <code> netstat -na | grep -i SYN_RECV |cut -d: -f2 |awk '{print $2}'
</code> </code>

و يمكن حجب الأيبهات المسببه للضغط بالطريقة التاليه :

رمز PHP:

<code style="white-space:nowrap"> <code> nano /ml
</code> </code>

اضف هذا المحتوي في الملف :
رمز PHP:

<code style="white-space:nowrap"> <code> #!/bin/bash

netstat -na | grep -i SYN_RECV |cut -d: -f2 |awk '{print $2}' > /tmp/ip
for i in `cat /tmp/ip`
do
iptables -v -A INPUT -s ${i} -j DROP
iptables -v -D INPUT -s ${i} -j DROP
iptables -v -A OUTPUT -d ${i} -j DROP
iptables -v -I INPUT -s ${i} -j DROP
done
service iptables save
</code> </code>

احفظ العمل و الخروج من الملف بالضغط علي ctrl+x ثم y ثم Enter

بعد ذلك شغل الملف بالأمر التالي :

رمز PHP:

<code style="white-space:nowrap"> <code> sh /ml
</code> </code>

اتمني ان يبعد الله عنكم جميعاً كل مكروه و اتمني أن ينال الشرح طريقة اعجابكم .

و سلام الله عليكم و رحمته و بركاته

كتبه اخوكم في الله
ابو عمر
30/11/2014




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

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


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