«سرور کند است» میتواند سه معنای متفاوت داشته باشد: شبکه شلوغ است، چیزی روی سرور پهنای باند را مصرف میکند، یا خود آزمون اشتباه است. این هفت گام آنها را از هم جدا میکند. دستورها برای لینوکساند و نام بستهها برای سیستمهایی که از apt استفاده میکنند.
۱. نمودارهای داشبورد را ببینید
سرور را در داشبورد باز کنید و به زبانهٔ سنجهها بروید. نمودار شبکه ترافیک ورودی و خروجی در ثانیه را برای یک ساعت، یک روز یا یک هفتهٔ گذشته نشان میدهد. دادهها از لایهٔ مجازیسازی میآیند، پس حتی وقتی سیستمعامل داخل سرور گیر کرده هم دیده میشوند.
دو چیز را نشان نمیدهد: مجموع به گیگابایت، و اینکه کدام برنامه ترافیک را ساخته است. گامهای بعدی برای همیناند.
همین دادهها از طریق API هم در دسترساند، از جمله ماه گذشته:
curl -s "https://api.eqvps.com/api/v1/eqvps/services/SERVICE_ID/metrics?timeframe=month" \
-H "Authorization: Bearer $EQVPS_API_KEY"
۲. رابط شبکهتان را پیدا کنید
بیشتر دستورهای زیر به نام رابط نیاز دارند:
ip -br addr
رابطی را میخواهید که نشانی عمومی شما (یا روی سرورهای NAT، نشانی خصوصی) روی آن است؛ اغلب eth0 یا ens18. اگر نام رابط شما فرق دارد، eth0 را در دستورهای زیر عوض کنید.
۳. ترافیک روزانه و ماهانه را با vnStat بشمارید
apt install -y vnstat
vnstat -l -i eth0 # live rate, Ctrl+C to stop
vnstat -d # per day
vnstat -m # per month
vnStat شمارندههای رابط را از هسته میخواند، بعد از ریاستارت هم داده را نگه میدارد و تقریباً منبعی مصرف نمیکند. از لحظهٔ نصب شروع به شمارش میکند، پس پیش از آنکه به عدد نیاز داشته باشید نصبش کنید.
۴. ببینید کدام فرایند پهنای باند را مصرف میکند
apt install -y nethogs
nethogs eth0
nethogs فرایندها را با نرخ فعلی ارسال و دریافتشان فهرست میکند. اگر فرایند ناآشنایی را دیدید که ترافیک میفرستد، دقیق بررسیاش کنید: یک آپلودکنندهٔ سنگین و غیرمنتظره ممکن است نشانهٔ نفوذ به سرور باشد.
برای دیدن خود اتصالها:
ss -tunap | head -30
۵. آزمون سرعتی انجام دهید که معنا داشته باشد
راه قابل اعتماد iperf3 بین دو ماشینی است که کنترلشان میکنید. روی ماشین دیگر، سرور را راه بیندازید:
iperf3 -s
روی سرور خودتان هر دو جهت را با ۴ جریان به مدت ۳۰ ثانیه بسنجید:
iperf3 -c OTHER_HOST -P 4 -t 30 # upload from this server
iperf3 -c OTHER_HOST -P 4 -t 30 -R # download to this server
سرور NAT اتصال ورودی را فقط روی پورت SSH میپذیرد، پس iperf3 -s را روی ماشین دیگر اجرا کنید و سرور NAT را مثل بالا کلاینت نگه دارید.
ماشین دومی ندارید؟ یک فایل بزرگ را از یک آینهٔ سریع نزدیک خودتان دانلود کنید و میانگین را بخوانید:
curl -o /dev/null -w "%{speed_download}\n" https://mirror.example.net/1GB.bin
نتیجه بر حسب بایت در ثانیه است. برای بیت در ثانیه در ۸ ضرب کنید: 110000000 حدود 880 Mbit/s است.
۶. تأخیر و از دست رفتن بسته را بررسی کنید
پایین بودن توان عبوری در فاصلههای دور اغلب مشکل تأخیر یا افت بسته است، نه پهنای باند:
apt install -y mtr-tiny
mtr -rwc 100 example.com
به ستون Loss% در خط آخر نگاه کنید. افتی که فقط در یک گام میانی دیده شود و بعد ناپدید شود، معمولاً یعنی آن مسیریاب به پاسخ ping اولویت پایین میدهد، نه افت واقعی.
۷. با مقدار مورد انتظار مقایسه کنید
| تعرفه | پورت | نتیجهٔ معمول با ۴ جریان روی خط خلوت |
|---|---|---|
| Linux VPS | 1 Gbit/s | حدود 900–940 Mbit/s در هر جهت |
| Windows VPS | 150 Mbit/s | حدود 140 Mbit/s |
وقتی چند سرور روی همان ماشین فیزیکی همزمان شلوغاند، خط بالارو بهطور مساوی بین آنها تقسیم میشود، پس عدد کمتر در زمان شلوغی طبیعی است. هیچ تعرفهای سهمیهٔ ترافیک ندارد. نحوهٔ تقسیم در ترافیک و سرعت شبکه توضیح داده شده است.
روی سرور ویندوز، Task Manager ← Performance ← Ethernet نرخ لحظهای را نشان میدهد و Resource Monitor ← Network ترافیک هر فرایند را.
اگر عددها واقعاً پاییناند
گام ۵ را با دو سرور آزمون متفاوت اجرا کنید، زمان را یادداشت کنید و تیکتی همراه با دستورها و خروجیشان باز کنید. با این اطلاعات میتوانیم خط بالارو را درست در همان لحظه بررسی کنیم.
مرتبط
- ترافیک و سرعت شبکه: سرعت پورتها، تقسیم منصفانه، پورتهای ایمیل خروجی.
- شبکه و پورتها: هدایت NAT و پورتهای باز.
- اگر vnStat یا لاگها دیسک را پر کردند: آزاد کردن فضای دیسک.
نظرات
هنوز نظری نیست. اولین نفر باشید.