این راهنما به شما یاد میدهد پهنای باند VPS خود را با Speedtest آزمایش کنید تا عملکرد شبکه را بررسی کنید، سرعت دانلود/آپلود را اندازه بگیرید و مشکلات احتمالی اتصال را شناسایی کنید.
📋 پیشنیازها
- یک سرور VPS با دسترسی root یا sudo
- یک اتصال SSH فعال
- Ubuntu/Debian (دستورها برای این توزیعها تنظیم شدهاند)
🔧 نصب Speedtest
حذف نسخههای قدیمی
پیش از نصب Speedtest، مهم است که همه نسخههای قدیمی را حذف کنید تا از تداخل جلوگیری شود:
Bash# Désinstaller speedtest-cli (version Python via pip) sudo pip3 uninstall speedtest-cli -y 2>/dev/null || true # Désinstaller speedtest-cli (version système) sudo apt remove speedtest-cli -y 2>/dev/null || true sudo apt purge speedtest-cli -y 2>/dev/null || true # Désinstaller speedtest (version officielle via apt si présente) sudo apt remove speedtest -y 2>/dev/null || true sudo apt purge speedtest -y 2>/dev/null || true # Nettoyer les fichiers résiduels sudo apt autoremove -y sudo apt autoclean -y
مهم: حذف نسخههای قدیمی ضروری است، زیرا فقط نصب از طریق curl با نسخه رسمی Ookla درست کار میکند.
نصب از طریق curl (روش توصیهشده)
Speedtest ابزار رسمی Ookla است، همان سرویس speedtest.net. نصب فقط از طریق curl انجام میشود:
Bash# Installer Speedtest via le script officiel Ookla curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | sudo bash # Installer speedtest sudo apt install speedtest -y
بررسی نصب
Bash# Vérifier que speedtest est installé speedtest --version # Tester que speedtest fonctionne speedtest --help
🚀 استفاده از Speedtest
تست پایه
Bash# Test simple (choisit automatiquement le meilleur serveur) speedtest
تست با گزینهها
Bash# Test simple (résultats concis) speedtest --simple # Test avec unités en bits par seconde speedtest --bits # Afficher uniquement les résultats en JSON speedtest --json # Sauvegarder les résultats JSON dans un fichier speedtest --json > speedtest-result.json
انتخاب یک سرور مشخص
Bash# Lister les serveurs Speedtest disponibles speedtest --list # Filtrer les serveurs par région (ex: France, Paris) speedtest --list | grep -i "france\|paris" # Test vers un serveur spécifique (utiliser l'ID du serveur) speedtest --server SERVER_ID # Exemple avec un serveur français speedtest --server 45170
نمونه خروجی
Speedtest by Ookla
Server: Server Name - City (ID: 12345)
ISP: Your ISP
Latency: 12.45 ms (0.05 ms jitter)
Download: 945.23 Mbps (data used: 1.2 GB)
Upload: 842.15 Mbps (data used: 1.0 GB)
Packet Loss: 0.0%
Result URL: https://www.speedtest.net/result/c/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
📊 گزینههای پیشرفته
تست با قالب سفارشی
Bash# Format simple (une ligne) speedtest --format=simple # Format CSV speedtest --format=csv # Format JSON (pour scripts) speedtest --format=json # Format JSON avec progression speedtest --format=jsonl
تست با سرور و قالب سفارشی
Bash# Test vers serveur spécifique avec format JSON speedtest --server 45170 --format=json # Sauvegarder dans un fichier speedtest --server 45170 --format=json > speedtest-paris.json
گزینههای کاربردی
Bash# Ne pas afficher les résultats intermédiaires (progress) speedtest --progress=no # Afficher la progression speedtest --progress=yes # Accepter automatiquement la licence speedtest --accept-license # Accepter les cookies GDPR speedtest --accept-gdpr
🎯 تستهای ویژه
تست به مناطق مختلف
Bash# Liste des serveurs par région speedtest --list | grep -i "france\|paris\|frankfurt\|london\|amsterdam" # Test vers un serveur français (exemple avec ID) speedtest --server 45170 # Test vers plusieurs serveurs pour comparaison for server in 45170 45171 12345; do echo "=== Testing server $server ===" speedtest --server $server --simple echo "" done
اسکریپت تست کامل
برای انجام چند تست، یک اسکریپت بسازید:
Bash#!/bin/bash echo "=== Test de bande passante VPS ===" echo "" echo "1. Test Speedtest (meilleur serveur) :" echo "-------------------------------------" speedtest --simple echo "" echo "2. Test vers serveur français (Paris) :" echo "-------------------------------------" speedtest --server 45170 --simple echo "" echo "3. Test détaillé :" echo "-------------------------------------" speedtest --format=simple echo "" echo "Test terminé !"
اسکریپت را ذخیره کنید و آن را اجرایی کنید:
Bash# Créer le script nano test-bandwidth.sh # Copiez le contenu ci-dessus # Rendre exécutable chmod +x test-bandwidth.sh # Exécuter ./test-bandwidth.sh
تست تکراری (مانیتورینگ)
Bash# Speedtest répété toutes les heures while true; do echo "=== $(date) ===" speedtest --simple echo "" sleep 3600 done
ذخیره نتایج
Bash# Sauvegarder les résultats dans un fichier speedtest --format=simple > speedtest-$(date +%Y%m%d-%H%M%S).txt # Sauvegarder en JSON pour traitement ultérieur speedtest --format=json > speedtest-$(date +%Y%m%d-%H%M%S).json # Sauvegarder avec append (ajouter à la fin du fichier) speedtest --format=simple >> speedtest-history.txt
📊 تفسیر نتایج
سرعتهای عادی
سرعتها به پلن VPS شما بستگی دارند:
- VPS Entry: 100 تا 250 Mbps
- VPS Standard: 250 تا 500 Mbps
- VPS High Performance: 500 Mbps تا 1 Gbps
- VPS Premium: 1 Gbps و بیشتر
تأخیر عادی
- < 10 ms: عالی (همان دیتاسنتر)
- 10-50 ms: بسیار خوب (منطقهای)
- 50-100 ms: خوب (داخل کشور)
- 100-200 ms: قابل قبول (بینقارهای)
- > 200 ms: بالا (احتمال وجود مشکل)
Jitter (نوسان تأخیر)
- < 1 ms: عالی
- 1-5 ms: خوب
- 5-10 ms: قابل قبول
- > 10 ms: احتمال وجود مشکل
از دست رفتن بستهها (Packet Loss)
- 0%: بینقص
- < 0.1%: عادی
- 0.1-1%: قابل قبول
- > 1%: مشکل شبکه
نشانههای مشکل
- سرعت کمتر از 50% سرعت وعدهدادهشده: مشکل شبکه
- تأخیر بسیار متغیر (jitter بالا): ازدحام شبکه
- از دست رفتن بستهها بیش از 1%: مشکل اتصال
- سرعتی که با گذشت زمان افت میکند: محدودیت یا throttling
✅ بهترین روشها
- چند بار تست کنید: عملکرد ممکن است بسته به بار شبکه تغییر کند
- در زمانهای مختلف تست کنید: برای تستهای مرجع از ساعات اوج پرهیز کنید
- به سرورهای مختلف تست کنید: نتایج را بین لوکیشنهای مختلف مقایسه کنید
- نتایج را یادداشت کنید: برای مقایسه در آینده سابقه نگه دارید
- از قالب JSON استفاده کنید: برای خودکارسازی و تحلیل نتایج با اسکریپت
🆘 عیبیابی
سرعت بسیار پایین
Bash# Vérifier la charge CPU top htop # Vérifier l'utilisation réseau iftop nethogs # Vérifier les erreurs réseau ip -s link show # Vérifier les processus qui utilisent la bande passante sudo nethogs
مشکل با speedtest
اگر speedtest درست کار نمیکند:
Bash# Vérifier que speedtest est bien installé which speedtest speedtest --version # Réinstaller speedtest # D'abord, désinstaller sudo apt remove speedtest -y sudo apt purge speedtest -y # Puis réinstaller curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | sudo bash sudo apt install speedtest -y # Vérifier que ça fonctionne speedtest --version
خطای "speedtest: command not found"
Bash# Vérifier si speedtest est installé which speedtest # Si non trouvé, réinstaller curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | sudo bash sudo apt install speedtest -y # Ajouter au PATH si nécessaire echo 'export PATH=$PATH:/usr/bin' >> ~/.bashrc source ~/.bashrc
خطای سطح دسترسی
Bash# Si vous obtenez une erreur de permission, utilisez sudo sudo speedtest # Ou ajoutez votre utilisateur au groupe approprié # (généralement pas nécessaire pour speedtest)
تستها سروری پیدا نمیکنند
Bash# Lister les serveurs disponibles speedtest --list # Tester vers un serveur spécifique par son ID speedtest --server SERVER_ID # Vérifier la connectivité Internet ping -c 3 8.8.8.8 curl -I https://www.speedtest.net
📝 دستورهای کاربردی
تست سریع با نتایج ساده
Bash# Test simple en une ligne speedtest --simple # Test avec serveur spécifique speedtest --server 45170 --simple # Sauvegarder les résultats speedtest --simple > speedtest-result.txt
تست با نتایج JSON برای اسکریپتها
Bash# Test avec format JSON speedtest --format=json # Sauvegarder en JSON speedtest --format=json > result.json # Extraire des valeurs spécifiques avec jq (si installé) speedtest --format=json | jq '.download.bandwidth, .upload.bandwidth, .ping.latency'
مانیتورینگ مداوم
Bash# Test toutes les heures avec logs while true; do echo "$(date): $(speedtest --simple 2>&1)" >> /var/log/speedtest.log sleep 3600 done
📚 منابع بیشتر
❓ پرسشهای متداول
پرسش: چرا باید پیش از نصب speedtest، speedtest-cli را حذف کنم؟
پاسخ: نسخه قدیمی speedtest-cli (نصبشده با pip) منسوخ است و میتواند با نسخه رسمی speedtest از Ookla تداخل داشته باشد. برای جلوگیری از مشکلات، حذف آن مهم است.
پرسش: چرا نتایج من بین تستها متفاوت است؟
پاسخ: این عادی است. پهنای باند میتواند بسته به بار شبکه، ساعت، سرورهای تست مورد استفاده و ازدحام شبکه تغییر کند. برای بهدست آوردن میانگین، چند تست انجام دهید.
پرسش: اگر سرعت کمی کمتر از سرعت وعدهدادهشده باشد، باید نگران شوم؟
پاسخ: اختلاف 10 تا 20% عادی است. اگر سرعت بهطور مداوم بیش از 50% کمتر باشد، با پشتیبانی تماس بگیرید.
پرسش: چگونه پهنای باند ارسالی (آپلود) را تست کنم؟
پاسخ: Speedtest آپلود و دانلود را بهطور خودکار در همان تست آزمایش میکند. نتایج هر دو مقدار را شامل میشوند.
پرسش: آیا میتوانم از speedtest برای تست بین VPS و رایانه خودم استفاده کنم؟
پاسخ: Speedtest فقط به سرورهای عمومی Speedtest.net تست میکند. برای تست بین VPS و رایانه خود باید از ابزارهای دیگری مانند iperf3 استفاده کنید، اما این موضوع در این راهنما پوشش داده نشده است.
پرسش: jitter را چگونه تفسیر کنم؟
پاسخ: jitter نوسان تأخیر است. jitter پایین (< 5 ms) نشاندهنده یک اتصال پایدار است. jitter بالا (> 10 ms) میتواند برای برنامههای حساس به تأخیر (صدا، تصویر) مشکل ایجاد کند.
پرسش: تفاوت Mbps و MB/s چیست؟
پاسخ: Mbps (مگابیت بر ثانیه) برای پهنای باند شبکه استفاده میشود. MB/s (مگابایت بر ثانیه) برای ذخیرهسازی استفاده میشود. 1 MB/s = 8 Mbps. Speedtest بهطور پیشفرض با Mbps نمایش میدهد؛ برای اطمینان از --bits استفاده کنید.