الخادم بطيء: من أين تبدأ
إجراء تشخيصي في خمس دقائق: المعالج، والذاكرة، والقرص، والشبكة — كيف تستخدم بضعة أوامر لتحديد ما يعيق الأداء بالضبط وما تفعله بعد ذلك.
آخر تحديث 23 أغسطس 2026
«كل شيء بطيء» ليس تشخيصًا. لا توجد سوى أربع نقاط اختناق: المعالج، والذاكرة، والقرص، والشبكة. فيما يلي ترتيب فحص يحدد إحداها في خمس دقائق.
الخطوة 1: الصورة العامة
uptime
free -h
df -h
ثلاثة أوامر تستبعد نصف الاحتمالات فورًا. إذا كان متوسط الحمل أعلى بوضوح من عدد الأنوية في رتبتك، فهناك طابور انتظار — راجع متوسط الحمل. قيمة available قريبة من الصفر تعني الذاكرة. وإذا كان القسم ممتلئًا بنسبة 100%، فلا داعي للبحث أكثر — اقرأ نفاد المساحة.
الخطوة 2: ما نقطة الاختناق بالضبط
vmstat 2 5
انظر إلى الأعمدة المتوسطة، كلها ما عدا الصف الأول:
- ارتفاع
usوsy، وكبرr— الاختناق في المعالج؛ - ارتفاع
wa، وكبرb— الاختناق في القرص؛ siوsoبقيمة غير صفرية — يحدث تبديل الذاكرة، ما يعني أن الذاكرة على وشك النفاد؛- ارتفاع
st— الوقت الذي يستهلكه الهايبرفايزر، وهذا سبب خارجي، تواصل مع الدعم.
الخطوة 3: ابحث عن المتسبب
ps aux --sort=-%cpu | head -10
ps aux --sort=-%mem | head -10
iotop -boPan 3 | head -20 # apt install iotop
ss -tn state established | wc -l
الصورة الحية أسهل في القراءة عبر htop أو btop. راقب العمليات في حالة D — فهي تنتظر القرص وترفع الحمل.
إذا كان المتسبب تطبيقك، فالسؤال التالي عنه: استعلامات قاعدة بيانات بطيئة، فهرس مفقود، عدد كبير جدًا من العمال، حلقة لا نهائية بعد النشر. اربط لحظة بدء البطء بالسجل:
journalctl --since "1 hour ago" -p warning
الخطوة 4: افحص السجل
افتح «نظرة عامة» في لوحة التحكم /hosting/vds/m/<id> وانظر إلى الرسوم البيانية لليوم والأسبوع الماضيين. ثلاثة أنماط نموذجية:
- ارتفاع مفاجئ في لحظة محددة — شيء ما تغيّر: نشر، أو تحديث، أو مهمة cron جديدة؛
- ذروة منتظمة وفق جدول — مهمة في الخلفية؛ انقلها إلى الليل أو حدّها بـ
niceوionice؛ - هضبة ثابتة لأسابيع — لقد تجاوزت رتبتك ببساطة.
ما العمل بناءً على النتيجة
| نقطة الاختناق | إجراء سريع | حل طويل الأمد |
|---|---|---|
| المعالج | ابحث عن العملية الزائدة وأوقفها | رتبة بعدد أنوية أكبر |
| الذاكرة | حدّ عدد العمال ومخازن قاعدة البيانات المؤقتة، وأضف swap | رتبة بذاكرة أكبر |
| القرص | حدّ النسخ الاحتياطية بـ ionice، وقلّص السجلات | رتبة أعلى: الهضبة تنمو مع عدد الأنوية |
| الشبكة | حدّ التنزيلات في الخلفية بـ --bwlimit | افحص مصدر حركة البيانات |
تُحسب هضبة القرص كما يلي: 60 MB/s من الكتابة لكل نواة، لا تقل عن 60 ولا تزيد عن 400، مع قراءة تعادل ضعف ذلك. إذا كنت عند الهضبة باستمرار، فلن يصبح القرص أسرع دون الانتقال إلى رتبة أعلى — راجع اختبار الأداء.
أخطاء شائعة
- إعادة تشغيل الجهاز فورًا. إعادة التشغيل تمحو الصورة، وبعد ساعة سيتكرر كل شيء. اجمع الأرقام أولًا.
- الثقة بلقطة واحدة. ارتفاع لحظي عند تشغيل htop لا يعني شيئًا — راقب لمدة دقيقة.
- اعتبار امتلاء الذاكرة مشكلة. انظر إلى
availableوswap، لا إلىfree. - تغيير رتبتك دون فهم السبب. تسريب الذاكرة أو سكربت يدور في حلقة لا نهائية سينتقل معك إلى الرتبة الجديدة. والرجوع إلى رتبة أدنى غير مدعوم.
إذا كان المعالج والذاكرة والقرص هادئة لكن التطبيق بطيء، فنقطة الاختناق خارج الجهاز: واجهة برمجة خارجية بطيئة، أو DNS، أو شبكة العميل. افحص بـ
curl -w '%{time_total}\n' -o /dev/null -sنحو العنوان الذي تحتاجه.