بررسی مصرف ترافیک سرور مجازی و جلوگیری از تمام شدن آن
ترافیک یکی از منابع سرور است که تا وقتی تمام نشده کسی به آن توجه نمیکند، اما وقتی تمام شود سرور از دسترس خارج میشود. در این مقاله یاد میگیرید مصرف را اندازه بگیرید، علت مصرف غیرعادی را پیدا کنید و مصرف را کاهش دهید.
ترافیک دقیقاً چیست؟
ترافیک یعنی مجموع دادهای که بین سرور شما و اینترنت جابهجا میشود:
- دانلود (ورودی): دادهای که سرور دریافت میکند — مثل آپلود فایل توسط کاربران یا دریافت بهروزرسانیها.
- آپلود (خروجی): دادهای که سرور ارسال میکند — مثل نمایش صفحات سایت و دانلود فایل توسط بازدیدکنندگان.
در بیشتر سرویسها، ترافیک خروجی گرانتر و محدودتر است، چون یک سایت معمولاً بیشتر ارسال میکند تا دریافت.
روش ۱: مشاهده در پنل کاربری
سادهترین راه، پنل کاربری است. در پنل نکستسشن، برای هر سرور مقدار ترافیک مصرفی، باقیمانده و نمودار مصرف روزانه نمایش داده میشود. مزیت این روش این است که عدد آن مبنای محاسبه واقعی است و اگر ترافیک رو به اتمام باشد، میتوانید همانجا ترافیک اضافه بخرید.
روش ۲: اندازهگیری داخل سرور با vnstat
برای گزارش تفکیکشده روزانه و ماهانه:
apt install vnstat -y
systemctl enable --now vnstat
چند دقیقه صبر کنید تا داده جمع شود، سپس:
vnstat # خلاصه
vnstat -d # گزارش روزانه
vnstat -m # گزارش ماهانه
vnstat -l # نمایش زنده
توجه: vnstat فقط از زمان نصب به بعد را میشمارد.
روش ۳: نمایش لحظهای
apt install nload iftop -y
nload # نمودار زنده پهنای باند
iftop -i eth0 # کدام IP بیشترین ترافیک را دارد
ابزار iftop برای پیدا کردن منبع مصرف غیرعادی عالی است چون نشان میدهد ترافیک با کدام آدرسها رد و بدل میشود.
پیدا کردن علت مصرف غیرعادی
۱. لاگ وبسرور را بررسی کنید
پرترافیکترین فایلها و پربازدیدترین IPها:
# ۱۰ IP با بیشترین درخواست
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -10
# پردانلودترین مسیرها
awk '{print $7}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -10
اگر یک IP هزاران درخواست دارد، احتمالاً ربات یا حمله است.
۲. مراقب رباتها باشید
خزندههای بیادب میتوانند ترافیک زیادی مصرف کنند. با فایل robots.txt نرخ خزش را محدود کنید و رباتهای بیفایده را ببندید.
۳. فایلهای حجیم را پیدا کنید
اگر ویدیو یا فایل حجیم روی سرور دارید، هر دانلود مستقیماً از ترافیک شما کم میکند. این فایلها بهتر است روی فضای ابری مجزا میزبانی شوند.
راههای کاهش مصرف ترافیک
- فشردهسازی gzip یا brotli: حجم متن، CSS و JS را تا ۷۰ درصد کم میکند:
gzip on; gzip_comp_level 6; gzip_types text/plain text/css application/json application/javascript image/svg+xml; - کش مرورگر: با هدر مناسب، فایلهای ثابت دوباره دانلود نمیشوند:
location ~* \.(jpg|png|css|js|woff2)$ { expires 30d; add_header Cache-Control "public, immutable"; } - بهینهسازی تصاویر: استفاده از فرمت WebP و کاهش ابعاد، معمولاً بیشترین صرفهجویی را دارد.
- جلوگیری از هاتلینک: نگذارید سایتهای دیگر تصاویر شما را مستقیم نمایش دهند.
- محدود کردن نرخ درخواست: برای مقابله با رباتهای مهاجم:
limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s;
اگر ترافیک تمام شود چه میشود؟
وقتی ترافیک به پایان برسد، سرور برای جلوگیری از مصرف بیشتر خاموش میشود و سایت از دسترس خارج خواهد شد. در این حالت باید ترافیک اضافه خریداری کنید یا منتظر تمدید دوره بمانید. برای همین توصیه میشود مصرف را ماهانه رصد کنید و اگر روند مصرف رو به رشد است، پیش از پایان دوره ترافیک اضافه تهیه کنید.
چقدر ترافیک لازم دارم؟
برآورد ساده: میانگین حجم هر صفحه ضرب در تعداد بازدید ماهانه.
- سایت شرکتی سبک (۱ مگابایت هر صفحه، ۳۰ هزار بازدید): حدود ۳۰ گیگابایت
- فروشگاه با تصاویر زیاد (۲ مگابایت، ۱۰۰ هزار بازدید): حدود ۲۰۰ گیگابایت
- سایت دانلود یا ویدیو: بسته به حجم فایلها، معمولاً چند صد گیگابایت به بالا
همیشه حدود ۳۰ درصد حاشیه اطمینان در نظر بگیرید.
جمعبندی
ترافیک را ماهانه رصد کنید، فشردهسازی و کش را فعال کنید و تصاویر را بهینه کنید؛ این سه کار معمولاً مصرف را به نصف میرساند. برای بررسی سایر منابع سرور هم مقاله بررسی مصرف CPU، رم و دیسک را ببینید.
اگر هنوز سرور ندارید، میتوانید از صفحه پلنهای سرور مجازی ایران یک سرور با تحویل آنی تهیه کنید؛ سرور بلافاصله پس از پرداخت و در کمتر از یک دقیقه تحویل داده میشود.
سرور مجازی ایران با تحویل آنی میخواهید؟
تحویل خودکار در کمتر از یک دقیقه، دیتاسنتر داخل ایران، دسترسی کامل root و پشتیبانی 24 ساعته.
مشاهده پلنها و قیمتها