في الأجزاء السابقة من السلسلة عرضنا نتائج اختبار سيرفر مرام مع 14 شبكة عراقية، وشرحنا مسار البيانات وزمن الاستجابة، وأثر BBR على سرعة الإرسال. في هذا الدليل نسلّمك الأداة نفسها: كيف تستعمل Speedtest CLI الرسمي على سيرفر لينكس لتقيس سرعته إلى الشبكات العراقية بنفسك، مع سكربت جاهز يفحص عدة شبكات ويطبع النتائج في جدول واحد.

⚡ الإجابة المختصرة

نزّل Speedtest CLI الرسمي من Ookla كملف مضغوط إلى /opt/ookla (دون تثبيت حزم في النظام)، ثم شغّل speedtest -s رقم_الخادم لكل خادم عراقي تريده. السكربت في هذا المقال يمرّ على 14 خادمًا عراقيًا ويطبع Ping والتنزيل والرفع لكل منها. أعد فحص أي نتيجة شاذة قبل الحكم، وكرّر القياس في أوقات مختلفة.

📶 سلسلة: اختبار سرعة سيرفر مرام إلى شبكات العراق

لماذا سطر الأوامر وليس موقع speedtest.net؟

عندما تفتح speedtest.net في متصفحك فأنت تقيس اتصال منزلك أو مكتبك، لا سيرفرك. السيرفر لا يملك متصفحًا ولا واجهة رسومية أصلًا، لذلك نحتاج أداة تعمل من داخله عبر SSH. وهذه الأداة تعطينا نتائج قابلة للمقارنة والتكرار، ويمكن حفظها بصيغة JSON وتحليلها.

كل ما تحتاجه: سيرفر لينكس (Ubuntu أو Debian أو AlmaLinux وغيرها) ووصول SSH إليه. إن كنت جديدًا على SSH فابدأ بدليل الدخول إلى السيرفر عبر SSH من ويندوز وماك ولينكس.

الخطوة 1: تنزيل Speedtest CLI الرسمي

توفّر Ookla الأداة كملف تنفيذي جاهز داخل ملف مضغوط، ولا تحتاج مستودعات ولا مكتبات إضافية. سنضعها في /opt/ookla ليسهل حذفها لاحقًا بأمر واحد:

# لمعالجات x86_64 (أغلب السيرفرات)
sudo mkdir -p /opt/ookla
curl -sL https://install.speedtest.net/app/cli/ookla-speedtest-1.2.0-linux-x86_64.tgz \
  | sudo tar xz -C /opt/ookla

# لمعالجات ARM استبدل x86_64 بـ aarch64 في الرابط

/opt/ookla/speedtest --version

بديل آخر هو مستودع Ookla الرسمي لـ apt أو dnf (التعليمات في صفحة speedtest.net/apps/cli)، لكن الملف المضغوط أبسط ولا يترك أثرًا في النظام. وإن أردت حذف الأداة لاحقًا فأمر واحد يكفي:

sudo rm -rf /opt/ookla ~/.config/ookla

انتبه: لا تخلط بين الأداة الرسمية وحزمة speedtest-cli المكتوبة ببايثون (المثبّتة عبر apt أو pip). تلك مشروع غير رسمي، وقد تعطي أرقامًا مختلفة، خاصة في سرعة الرفع على الاتصالات السريعة.

الخطوة 2: أول فحص وقبول الترخيص

عند أول تشغيل تطلب الأداة قبول ترخيص Ookla وسياسة الخصوصية. يمكنك قبولهما تفاعليًا، أو تمريرهما كخيارات كي لا يتوقف السكربت:

/opt/ookla/speedtest --accept-license --accept-gdpr

# يختار تلقائيًا أقرب خادم لموقع السيرفر،
# ولسيرفر في بريطانيا سيكون الخادم بريطانيًا لا عراقيًا

هذه النتيجة الأولى مفيدة لمعرفة سقف بورت السيرفر، لكنها لا تخبرك بشيء عن العراق. لذلك نحتاج اختيار الخادم يدويًا.

الخطوة 3: اختيار خوادم عراقية

الأمر speedtest -L يعرض الخوادم القريبة من سيرفرك فقط. أما الخوادم العراقية فنحدّدها برقمها (Server ID). هذه الأرقام التي استعملناها في اختبارنا:

المزوّدالمدينةرقم الخادم (Server ID)
Al-Jazeera Telecomبغداد39247
Alwataniبغداد57716
Asiacell APبغداد47123
Earthlink Telecomبغداد74877
HALA FTTHبغداد47719
Zain IQبغداد38950
Asiacellالبصرة37304
Zain IQالبصرة46713
KorekTelأربيل43974
Newroz Telecomأربيل28476
O3 FTTHأربيل25218
NBTELالموصل56363
Tishknetالسليمانية59703
iQالسليمانية56478
أرقام خوادم Ookla التي استعملناها في سبتمبر 2026. قد تتغيّر أو تُضاف خوادم جديدة مع الوقت.
# فحص خادم واحد برقمه، مثلًا زين العراق في بغداد
/opt/ookla/speedtest -s 38950

# للبحث عن خوادم مدينة أو شركة أخرى (واجهة speedtest.net العامة)
curl -s "https://www.speedtest.net/api/js/servers?engine=js&search=Najaf&limit=50" \
  | python3 -c 'import json,sys; [print(s["id"], s["sponsor"], "-", s["name"]) for s in json.load(sys.stdin)]'

واجهة البحث هذه تحظر مؤقتًا من يرسل طلبات كثيرة متتالية، فاكتفِ ببضعة استعلامات واحفظ الأرقام التي تحتاجها.

الخطوة 4: سكربت يفحص كل الشبكات العراقية

بدل تشغيل الأمر 14 مرة يدويًا، يمرّ هذا السكربت على الخوادم واحدًا واحدًا، ويقرأ نتيجة كل فحص بصيغة JSON، ويطبعها في جدول مرتّب. احفظه باسم iraq-speedtest.sh:

#!/usr/bin/env bash
# iraq-speedtest.sh — يفحص سرعة السيرفر إلى خوادم Speedtest في العراق
# الاستخدام:  ./iraq-speedtest.sh               (القائمة الافتراضية)
#             ./iraq-speedtest.sh 28476 38950   (خوادم تختارها)
set -u
ST="${ST:-/opt/ookla/speedtest}"
DEFAULT="28476 43974 25218 56478 59703 74877 38950 47123 57716 47719 39247 56363 37304 46713"
IDS="${*:-$DEFAULT}"

printf "%-6s %-19s %-13s %8s %10s %10s\n" ID Server City "Ping ms" "Down Mbps" "Up Mbps"
for id in $IDS; do
  json=$("$ST" --accept-license --accept-gdpr -s "$id" -f json 2>/dev/null)
  if [ -z "$json" ]; then printf "%-6s %s\n" "$id" "failed - retry later"; continue; fi
  echo "$json" | python3 -c '
import json, sys
d = json.load(sys.stdin); s = d["server"]
print("%-6s %-19.19s %-13.13s %8.1f %10.1f %10.1f" % (
    s["id"], s["name"], s["location"], d["ping"]["latency"],
    d["download"]["bandwidth"] * 8 / 1e6, d["upload"]["bandwidth"] * 8 / 1e6))'
  sleep 2
done
chmod +x iraq-speedtest.sh

# كل الخوادم في القائمة الافتراضية (قرابة 6–7 دقائق)
./iraq-speedtest.sh

# أو خوادم محددة فقط
./iraq-speedtest.sh 28476 43974 74877 47123 46713
نتيجة سكربت iraq-speedtest.sh على سيرفر مرام: Ping والتنزيل والرفع إلى خمس شبكات عراقية
تشغيل حقيقي للسكربت على سيرفر VPS تجريبي من مرام ببورت 800 Mbps، الساعة 1:14 بعد منتصف ليل 22 أيلول 2026 بتوقيت بغداد.

لاحظ شيئًا في هذه اللقطة: التنزيل هنا بين 448 و490 Mbps، بينما أعطى السيرفر نفسه قرابة 800 Mbps في فحوص أجريناها قبلها بساعتين. الرفع وزمن الاستجابة بقيا في حدودهما المعتادة. هذا مثال حيّ على أول قاعدة أدناه: الرقم الواحد لا يكفي للحكم، فالازدحام يتغيّر بين ساعة وأخرى على الطرفين.

يحتاج السكربت python3 لقراءة JSON، وهو موجود افتراضيًا في Ubuntu وDebian وأغلب التوزيعات الحديثة. وتفصل ثانيتا انتظار بين الفحوص كي لا تتداخل.

الخطوة 5: كيف تقرأ النتائج؟

  • Ping ms: زمن الذهاب والإياب إلى الخادم. من أوروبا إلى العراق توقّع 75 إلى 110 ms، ومن الخليج أقل.
  • Down Mbps: البيانات من الخادم العراقي إلى سيرفرك. إن اقتربت من سرعة بورتك (مثل 800 أو 1000) فالمسار ليس هو الحد.
  • Up Mbps: البيانات من سيرفرك إلى العراق، وهي الاتجاه الذي يخدم زوار موقعك. إن كانت أقل كثيرًا من التنزيل فجرّب BBR.
  • تحويل الوحدة: تعطي Ookla السرعة في JSON بالبايت في الثانية (bandwidth)، والسكربت يضربها في 8 ويقسمها على مليون لتصبح Mbps.
  • حقول أخرى مفيدة في JSON: ping.jitter للتذبذب، وpacketLoss لفقدان الحزم، وresult.url لرابط النتيجة على speedtest.net.
# النتيجة الكاملة لخادم واحد لمن يريد كل التفاصيل
/opt/ookla/speedtest -s 28476 -f json-pretty

قواعد القياس الصحيح (تعلّمناها من اختبارنا)

  • لا تحكم من فحص واحد. في اختبارنا أعطى أحد الخوادم 18.5 Mbps في المرة الأولى، ثم 603 و669 عند الإعادة. أعد فحص أي رقم شاذ بعد دقائق.
  • ميّز سقف الخادم عن سقف سيرفرك. إذا أعطى خادم واحد الرقم المنخفض نفسه في كل مرة بينما البقية طبيعية، فالحد غالبًا في خادم الاختبار لا في سيرفرك.
  • قِس في أوقات مختلفة. الصباح غير المساء، وأيام العطل غير أيام الدوام.
  • قارن بعد كل تغيير بالخوادم نفسها. عند تجربة إعداد مثل BBR، استعمل قائمة الخوادم نفسها قبل التغيير وبعده.
  • لا تجعله مهمة متكررة كثيرة. كل فحص يملأ البورت لنحو 20 ثانية ويستهلك مئات الميغابايتات، فهو أداة تشخيص لا مراقبة دائمة.
  • احترم حدّ Ookla. بعد نحو 30 فحصًا متتاليًا خلال ربع ساعة تقريبًا أوقفت Ookla فحوصنا مؤقتًا برسالة Limit reached: Too many requests. إن ظهرت لك فانتظر قليلًا ثم أكمل، ولا تكرّر المحاولة فورًا.
  • السيرفر الصغير قد يحدّ النتيجة بمعالجه. على خطط بنواة واحدة قد يصبح المعالج هو السقف عند السرعات العالية. لقياس المعالج والأقراص راجع دليل sysbench وfio.

أدوات مكمّلة

  • mtr: يجمع ping وtraceroute ويُظهر فقدان الحزم في كل محطة، وهو الأفضل لتشخيص مشكلة مسار. mtr -rwc 50 speedtest.iq.zain.com
  • tracepath: مسار الحزمة ومحطاتها دون صلاحيات root.
  • iperf3: لقياس السرعة بين سيرفرين تملكهما أنت (مثلًا سيرفرك وسيرفر في مكتبك في العراق). يحتاج تشغيل الطرف الآخر بنفسك.
  • curl: لقياس سرعة تنزيل ملف حقيقي من موقعك: curl -o /dev/null -w '%{speed_download}' https://example.com/file.zip

الأسئلة الشائعة

هل Speedtest CLI مجاني؟

نعم، Ookla توفّره مجانًا للاستخدام الشخصي وفق شروط ترخيصها، ويجب قبول الترخيص عند أول تشغيل (الخياران –accept-license و–accept-gdpr يقبلانه آليًا). للاستخدام التجاري الواسع أو دمجه في منتج تحتاج مراجعة شروط Ookla.

ما الفرق بين speedtest الرسمي وحزمة speedtest-cli في بايثون؟

الأداة الرسمية من Ookla مكتوبة بلغة C++ وتستعمل محرّك القياس نفسه في speedtest.net. أما speedtest-cli (حزمة بايثون) فمشروع مستقل غير رسمي، وقد تختلف نتائجه عن الرسمية خاصة في سرعة الرفع على الاتصالات السريعة. للقياس الجاد استعمل الرسمية.

كيف أجد رقم خادم Speedtest لشبكة معيّنة في العراق؟

الأمر speedtest -L يعرض الخوادم الأقرب لموقع سيرفرك (وهي غالبًا أوروبية إن كان السيرفر في أوروبا). للخوادم العراقية استعمل الجدول في هذا المقال، أو ابحث في موقع speedtest.net باسم المدينة أو الشركة من خيار تغيير الخادم.

هل يؤثّر تشغيل الاختبار على موقعي المستضاف على السيرفر نفسه؟

نعم مؤقتًا، فكل فحص يملأ بورت السيرفر لنحو 20 ثانية. شغّله في وقت هادئ، ولا تجعله مهمة مجدولة متكررة كل بضع دقائق، فهذا يستهلك الحزمة ويزاحم زوارك.

لماذا تختلف نتيجتي عن نتائج مقالكم؟

لأن سرعة البورت في خطتك وموقع السيرفر ووقت القياس وإعدادات TCP (مثل BBR) كلها تغيّر النتيجة. قارن بعد تفعيل BBR كما في الجزء الثالث، وكرّر القياس في أوقات مختلفة قبل أي استنتاج.

الخلاصة

بخمس خطوات أصبح لديك مختبر سرعة كامل داخل سيرفرك: Speedtest CLI الرسمي، وأرقام خوادم عراقية موثوقة، وسكربت يطبع النتائج في جدول. استعمله عند اختيار مزوّد أو خطة، وبعد أي تعديل في إعدادات الشبكة، وعند شكوى أي زائر من البطء. وتذكّر القاعدة الذهبية التي خرجنا بها من اختبارنا: الرقم الواحد ليس حكمًا، والتكرار هو ما يكشف الحقيقة.

بداية السلسلة: الجزء الأول: النتائج الكاملة لسيرفر مرام مع 14 شبكة عراقية

جرّب السكربت على سيرفر من مرام