الخادم بطيء: كيف تجد سبب ارتفاع استهلاك المعالج والذاكرة
بطء الخادم له غالبًا أحد ثلاثة أسباب: برنامج يستهلك المعالج، أو ذاكرة نفدت، أو قرص مضغوط. هذه الأوامر تحدد السبب خلال دقائق، قبل أن تفكر في ترقية خطتك.
آخر تحديث:
أولًا: انظر إلى الصورة العامة
الأمر top يرتّب البرامج حسب استهلاك المعالج، واضغط Shift+M لترتيبها حسب الذاكرة. وقارن Load average بعدد الأنوية: 4 على خادم بأربع أنوية يعني أنه يعمل بكامل طاقته.
$ top $ nproc $ uptime
ثانيًا: هل نفدت الذاكرة؟
انظر إلى عمود available وليس free، فلينكس يستخدم الذاكرة الفارغة كذاكرة مؤقتة. وإذا أوقف النظام برنامجًا لنفاد الذاكرة فسترى ذلك في السجل، وهذا يفسر توقف قاعدة البيانات فجأة.
$ free -m $ sudo dmesg -T | grep -i "out of memory"
ثالثًا: هل القرص هو السبب؟
إذا كان المعالج هادئًا والخادم بطيئًا فافحص القرص. ارتفاع قيمة wa في top يعني أن المعالج ينتظر القرص. ويأتي الأمر iostat مع الحزمة sysstat، وعمود %util القريب من 100 يعني قرصًا مضغوطًا.
$ iostat -x 2 5تأكد أيضًا أن القرص غير ممتلئ، فامتلاؤه يبطئ كل شيء. راجع دليل امتلاء قرص الخادم.
رابعًا: هل هو هجوم أو زيارات غير طبيعية؟
هذه الأوامر تعد الاتصالات وتعرض أكثر العناوين طلبًا لموقعك. عناوين قليلة بآلاف الطلبات تعني زحفًا أو هجومًا، فاحجبها في الجدار الناري. ومسار السجل يختلف حسب خادم الويب.
$ ss -tan | wc -l $ sudo awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -n | tail -n 10
على ويندوز
افتح مدير المهام (Ctrl+Shift+Esc) ورتّب حسب المعالج أو الذاكرة أو القرص. ومراقب الموارد (resmon) يعطي تفاصيل أكثر. وتحديثات ويندوز ومكافح الفيروسات من الأسباب الشائعة.
متى تحتاج إلى خطة أكبر؟
عندما يبقى الاستهلاك مرتفعًا طوال الوقت مع برامج سليمة ومعدّلة، وليس لفترة قصيرة أو بسبب برنامج عالق.

