كلاود
أدلة

تحسين أداء VPS: 10 خطوات فعّالة

كلاود|١٣ سبتمبر ٢٠٢٥|آخر تحديث ٦ سبتمبر ٢٠٢٦|4 دقائق قراءة|٤٩٥ مشاهدة
تحسين أداء VPS: 10 خطوات فعّالة

من kernel tuning لتحسين MySQL لضبط Nginx — 10 خطوات ترفع أداء VPS بدون ما تترقى. أوامر جاهزة للنسخ.

لماذا تحسين الأداء مهم؟

VPS بمواصفات ممتازة قد يعمل ببطء إذا لم يُضبط بشكل صحيح. التحسين لا يعني شراء موارد أكثر — بل استغلال الموارد الحالية بأقصى كفاءة. هذا الدليل يغطي تحسينات عملية ومجربة تقدر تطبقها الآن.

تشخيص المشكلة أولاً

قبل أي تحسين، حدد أين عنق الزجاجة (bottleneck). الأسباب الأربعة الرئيسية لبطء VPS:

السبب كيف تكشفه الحل
نقص المعالج load average أعلى من عدد الأنوية تحسين الكود أو إضافة vCPU
نقص الذاكرة swap مستخدم بشكل مستمر تحسين الاستهلاك أو إضافة RAM
بطء القرص iowait مرتفع في top تحسين الاستعلامات أو ترقية لـ SSD
بطء الشبكة زمن استجابة عالي تحسين الإعدادات أو اختيار موقع أقرب

أوامر التشخيص الأساسية

  • htop — عرض شامل للمعالج والذاكرة والعمليات
  • iostat -x 5 — أداء القرص كل 5 ثوانٍ
  • vmstat 5 — إحصائيات الذاكرة والمعالج
  • ss -tuln — الاتصالات النشطة والمنافذ المفتوحة
  • dmesg | tail — آخر رسائل النواة (أخطاء عتاد أو ذاكرة)

تحسين نظام التشغيل

1. إعدادات النواة (Kernel Tuning)

إعدادات sysctl الموصى بها لسيرفرات الويب:

الإعداد القيمة الموصى بها الوظيفة
net.core.somaxconn 65535 الحد الأقصى لقائمة الاتصالات المعلقة
net.ipv4.tcp_max_syn_backlog 65535 حماية من SYN flood
vm.swappiness 10 تقليل استخدام swap
net.ipv4.tcp_fin_timeout 15 تسريع تحرير الاتصالات المغلقة
net.ipv4.tcp_tw_reuse 1 إعادة استخدام اتصالات TIME_WAIT
fs.file-max 2097152 الحد الأقصى للملفات المفتوحة

2. تعطيل الخدمات غير الضرورية

كل خدمة تعمل في الخلفية تستهلك ذاكرة ومعالج. عطّل ما لا تحتاجه:

  • snapd (إذا لم تستخدم snap packages)
  • postfix (إذا لم يكن السيرفر يرسل بريد)
  • ModemManager (غير مطلوب على سيرفر)
  • bluetooth (غير مطلوب على سيرفر)

3. استخدام tmpfs

انقل الملفات المؤقتة للذاكرة بدل القرص. مجلدات مثل /tmp و/var/run تعمل أسرع كثيراً في الذاكرة.

تحسين خادم الويب

Nginx (الخيار الأفضل لمعظم التطبيقات)

Nginx أخف وأسرع من Apache في التعامل مع الاتصالات المتزامنة. إعدادات أساسية:

الإعداد القيمة الموصى بها السبب
worker_processes auto نواة لكل worker
worker_connections 2048 اتصالات متزامنة لكل worker
keepalive_timeout 30 تقليل اتصالات جديدة
gzip on ضغط المحتوى النصي
sendfile on نقل ملفات أسرع
tcp_nopush on تحسين إرسال الحزم

ضغط Gzip

فعّل الضغط لتقليل حجم البيانات المنقولة بنسبة 60-80%:

  • text/html, text/css, application/javascript
  • application/json, application/xml
  • ضع مستوى الضغط على 6 (توازن بين الضغط واستهلاك المعالج)

تحسين PHP

إذا تطبيقك يعمل بـ PHP (Laravel، your website، أو غيرها):

OPcache

OPcache يخزن PHP المُترجم في الذاكرة. بدونه، كل طلب يُعيد ترجمة الملفات من الصفر.

الإعداد القيمة الموصى بها
opcache.enable 1
opcache.memory_consumption 256
opcache.max_accelerated_files 20000
opcache.validate_timestamps 0 (في الإنتاج)

PHP-FPM

الإعداد القيمة لـ 4GB RAM
pm dynamic
pm.max_children 30
pm.start_servers 5
pm.min_spare_servers 3
pm.max_spare_servers 10

قاعدة الحساب: pm.max_children = (الذاكرة المتاحة لـ PHP) / (متوسط استهلاك العملية الواحدة). عملية PHP تستهلك عادة 30-60MB.

تحسين قاعدة البيانات

MySQL/MariaDB

الإعداد القيمة الموصى بها لـ 8GB RAM الوظيفة
innodb_buffer_pool_size 4G (50% من RAM) ذاكرة تخزين مؤقت للبيانات
innodb_log_file_size 512M حجم ملف السجل
innodb_flush_log_at_trx_commit 2 تسريع الكتابة (أقل أماناً بقليل)
query_cache_type OFF (MySQL 8) MySQL 8 ألغى query cache
max_connections 200 حسب الحاجة الفعلية

فهارس قاعدة البيانات

الاستعلامات البطيئة غالباً بسبب فهارس مفقودة. فعّل slow query log وراجع الاستعلامات التي تأخذ أكثر من ثانية واحدة. أضف فهارس على الأعمدة المستخدمة في WHERE وJOIN وORDER BY.

التخزين المؤقت (Caching)

مستويات التخزين المؤقت

المستوى الأداة التأثير
المتصفح Cache-Control headers يقلل الطلبات 40-60%
CDN Cloudflare / أي CDN يقلل الحمل على السيرفر 50-80%
التطبيق Redis / Memcached يسرّع الاستعلامات 10-100x
صفحة كاملة Varnish / Nginx cache يسرّع الصفحات الثابتة 50-200x
PHP OPcache يسرّع تنفيذ PHP 3-5x

Redis

Redis يخزن البيانات في الذاكرة. مثالي لـ:

  • جلسات المستخدمين (sessions)
  • نتائج الاستعلامات المتكررة
  • قوائم الانتظار (queues)
  • العدادات والإحصائيات اللحظية

خطة التحسين المرحلية

المرحلة التحسين التأثير المتوقع
1 تفعيل OPcache + ضبط PHP-FPM تسريع 2-3x
2 تحسين إعدادات MySQL تسريع الاستعلامات 3-5x
3 إضافة Redis للتخزين المؤقت تقليل حمل قاعدة البيانات 50-80%
4 ضبط Nginx + ضغط Gzip تقليل النطاق 60-80%
5 تفعيل CDN تقليل الحمل 50-80%

متى تحتاج ترقية الموارد فعلاً

بعد تطبيق كل التحسينات أعلاه، إذا:

  • المعالج فوق 80% بشكل مستمر
  • الذاكرة ممتلئة بدون swap
  • القرص بطيء رغم التحسينات

عندها الترقية منطقية. في كلاود (cloud.net.sa)، إضافة الموارد فورية: +1 vCPU بـ 500 ريال/سنة، +2GB RAM بـ 600 ريال/سنة. لكن ابدأ بالتحسين دائماً قبل الشراء — 80% من مشاكل الأداء حلها في الإعدادات وليس الموارد.


ابدأ الآن

تبي تجرب بنفسك؟ اختر باقة الاستضافة المناسبة أو صمم سيرفرك الخاص بالمواصفات اللي تبيها.

مشاركة