ترافیک ورودی دادهای است که به سرور میرسد (مثل آپلود کاربران و دانلود بهروزرسانیها) و ترافیک خروجی دادهای است که سرور میفرستد (مثل صفحات و فایلهایی که بازدیدکنندگان دریافت میکنند). بیشتر ارائهدهندگان فقط یا عمدتاً ترافیک خروجی را محاسبه میکنند، اما مدلها متفاوت است. برای کم کردن هزینه، ترافیک را با vnStat اندازه بگیرید و خروجی را با فشردهسازی، بهینهسازی تصاویر و CDN کاهش دهید.
ورودی و خروجی از دید چه کسی؟
اولین سردرگمی دربارهٔ ترافیک سرور، جهت آن است. وقتی کاربری فایلی را از سایت شما «دانلود» میکند، از دید سرور این داده خروجی است؛ یعنی سرور آن را آپلود میکند. وقتی کاربری عکسی را در سایت شما «آپلود» میکند، از دید سرور ورودی است.
در اصطلاحات فنی:
- Inbound / Ingress / RX: دادهای که وارد سرور میشود (Receive).
- Outbound / Egress / TX: دادهای که از سرور خارج میشود (Transmit).
برخی ارائهدهندگان ایرانی برای سادگی از دید سرور مینویسند «دانلود» و منظورشان دادهای است که سرور دریافت میکند؛ برخی دیگر از دید کاربر. پیش از مقایسهٔ پلنها، دقیقاً بپرسید منظور از «دانلود» یا «آپلود» در صورتحساب چیست.
چه چیزهایی ترافیک ورودی میسازند؟
- فایلهایی که کاربران در سایت یا برنامهٔ شما آپلود میکنند؛
- دانلود بهروزرسانیهای سیستمعامل و پکیجها (
apt upgrade،docker pull،npm install)؛ - دریافت نسخهٔ پشتیبان از سرور دیگر؛
- درخواستهای HTTP کاربران (که معمولاً بسیار کوچکاند)؛
- حملات و اسکنها که حجم زیادی ترافیک ناخواسته به سرور میفرستند.
چه چیزهایی ترافیک خروجی میسازند؟
- صفحات HTML، تصاویر، ویدیو، CSS و جاوااسکریپتی که بازدیدکنندگان دریافت میکنند؛
- پاسخهای API به اپلیکیشن موبایل یا سرویسهای دیگر؛
- ارسال نسخهٔ پشتیبان به سرور یا فضای ذخیرهسازی دیگر؛
- ارسال ایمیل؛
- هر دادهای که ربات یا اسکریپت شما به سرویس دیگری میفرستد.
در بیشتر سایتها و سرویسهای عمومی، ترافیک خروجی چندین برابر ورودی است؛ چون هر بازدید درخواستی کوچک و پاسخی بزرگ دارد.
ارائهدهندگان کدام را حساب میکنند؟
مدلهای رایج:
- فقط خروجی: رایجترین مدل در ارائهدهندگان ابری بینالمللی. ورودی رایگان است.
- مجموع ورودی و خروجی: هر دو جهت از یک سهمیه کم میشود.
- بیشینهٔ دو جهت: هر کدام بیشتر بود، ملاک است.
- بدون محاسبه (نامحدود): با محدودیتهای Fair Use؛ جزئیات را در مقالهٔ ترافیک نامحدود واقعاً نامحدود است؟ ببینید.
علاوه بر جهت، برخی ارائهدهندگان ترافیک داخلی (بین سرورهای یک دیتاسنتر یا شبکهٔ خصوصی) را رایگان حساب میکنند. در سرورهای ایران، گاهی ترافیک داخل کشور و بینالملل نرخ متفاوتی دارد.
در سرور ابری ایران کلودیفای، فقط ترافیک دانلود حساب میشود و آپلود رایگان است؛ هزینهٔ هر گیگابایت فعلاً ۱٬۲۵۰ است و هر چند دقیقه یک بار از کیف پول کسر میشود. جزئیات دقیق را در مقالهٔ محاسبهٔ ترافیک سرور ایران بخوانید.
- آپلود کاربران
- apt، docker pull و npm install
- دریافت بکاپ از جای دیگر
- اسکنها و حملات
- صفحات و تصاویر سایت
- پاسخهای API
- ارسال بکاپ به بیرون
- ایمیل و درخواستهای ربات
اندازهگیری ترافیک روی سرور
vnStat برای آمار بلندمدت
vnStat سبک است، در پسزمینه اجرا میشود و مصرف را به تفکیک ساعت، روز و ماه نگه میدارد:
sudo apt install -y vnstat
sudo systemctl enable --now vnstat
vnstat -h
vnstat -m
ستون rx ورودی و ستون tx خروجی است.
iftop و nethogs برای لحظهٔ حال
اگر ترافیک ناگهان بالا رفته و میخواهید بدانید به کجا میرود یا کدام برنامه مصرف میکند:
sudo apt install -y iftop nethogs
sudo iftop -i eth0
sudo nethogs eth0
iftop اتصالها را با مقصد و سرعت نشان میدهد و nethogs مصرف را به تفکیک پروسه. نام کارت شبکه را با ip -br link پیدا کنید؛ ممکن است eth0، ens3 یا نام دیگری باشد.
کاهش ترافیک خروجی
چون معمولاً خروجی محاسبه میشود و خروجی بخش بزرگ مصرف است، بیشترین اثر را این اقدامات دارند:
- CDN برای فایلهای ثابت: تصاویر، ویدیو و فایلهای CSS و JS از کش CDN تحویل میشوند و ترافیک خروجی سرور اصلی بهشدت کاهش مییابد. محاسبهٔ عددی در کاهش هزینهٔ ترافیک با CDN.
- فشردهسازی متنی: Gzip یا Brotli حجم HTML، CSS، JS و JSON را بهمقدار زیادی کم میکند. آموزش در Gzip و Brotli در Nginx.
- بهینهسازی تصاویر: تبدیل به WebP یا AVIF و ذخیره در ابعاد واقعی نمایش.
- کش مرورگر: با هدرهای Cache-Control درست، کاربر تکراری فایلها را دوباره دانلود نمیکند.
- مسدود کردن رباتهای بیفایده: برخی خزندهها حجم زیادی صفحه دانلود میکنند بدون اینکه برای شما ارزشی داشته باشند. لاگ را بررسی و آنها را محدود کنید.
- جلوگیری از لینک مستقیم (Hotlink): سایتهای دیگر ممکن است تصاویر یا فایلهای شما را مستقیم در صفحات خود نمایش دهند و ترافیک شما را مصرف کنند.
کاهش ترافیک ورودی
اگر ورودی هم محاسبه میشود:
- بهجای دانلود مکرر ایمیجهای داکر، ایمیجها را کش کنید و فقط هنگام نیاز
pullکنید. - برای بهروزرسانی سیستمعامل از میرورهای نزدیک استفاده کنید.
- با فایروال، اسکنها و درخواستهای مخرب را زودتر مسدود کنید؛ Fail2ban و UFW کمک میکنند.
$ ip -br linketh0 UP ...$ vnstat -d day rx | tx | total$ sudo nethogs eth0PID USER PROGRAM DEV SENT RECEIVED... www-data nginx: worker eth0 ... KB/s ... KB/s$
افزایش ناگهانی ترافیک
اگر مصرف بیدلیل بالا رفت، ممکن است سرور هک شده باشد و برای ارسال اسپم یا حمله استفاده شود، یا یک ربات خزنده سایت را پویش کند. با iftop و nethogs مقصد و پروسه را پیدا کنید و در صورت مشاهدهٔ رفتار مشکوک، نشانههای هک شدن سرور را بررسی کنید. تفاوت مفهومی ترافیک و پهنای باند را هم در پهنای باند یا ترافیک؟ ببینید.
یک مثال: سایت فروشگاهی کوچک
فرض کنید یک فروشگاه اینترنتی کوچک دارید که روزانه چند صد بازدیدکننده دارد. هر بازدیدکننده بهطور میانگین چند صفحه میبیند و هر صفحه با تصاویر محصولات حجم قابل توجهی دارد. در این سایت، تقریباً همهٔ ترافیک خروجی از تصاویر محصولات میآید و HTML سهم کوچکی دارد. ورودی هم بیشتر از آپلود تصاویر جدید توسط مدیر فروشگاه و بهروزرسانیهای دورهای سیستم است.
اگر این فروشگاه تصاویر را بدون فشردهسازی و در ابعاد اصلی دوربین بارگذاری کرده باشد، با تبدیل آنها به WebP در ابعاد مناسب، حجم هر صفحه بهمراتب کمتر میشود. سپس با اتصال CDN، همان تصاویر کوچکشده هم از کش تحویل داده میشوند و ترافیک خروجی سرور اصلی به بخش کوچکی از مقدار اولیه میرسد. در این سناریو، هزینهٔ ترافیک سرور با دو اقدام ساده بهشدت پایین میآید و سرعت سایت هم بیشتر میشود.
ترافیک بکاپ را فراموش نکنید
یکی از منابع پنهان ترافیک خروجی، ارسال نسخههای پشتیبان به بیرون از سرور است. اگر هر شب کل فایلهای سایت را فشرده و به سرور دیگری منتقل کنید، هر شب همان حجم کامل از ترافیک خروجی کم میشود. با بکاپ افزایشی، فقط فایلهای تغییرکرده منتقل میشوند و مصرف بسیار کمتر است. ابزار rsync دقیقاً همین کار را انجام میدهد؛ روش آن را در آموزش بکاپ با rsync ببینید.
همچنین اگر سرور پشتیبان در همان دیتاسنتر یا شبکهٔ داخلی ارائهدهنده باشد، برخی ارائهدهندگان ترافیک بین آنها را محاسبه نمیکنند. پیش از طراحی سیستم بکاپ، این موضوع را بررسی کنید.
سؤالات متداول
آپلود فایل در سایت ترافیک ورودی است یا خروجی؟
از دید سرور، فایلی که کاربر آپلود میکند ترافیک ورودی (RX) است. فایلی که کاربر دانلود میکند، از دید سرور خروجی (TX) است.
چرا ترافیک خروجی سرور من خیلی بیشتر از ورودی است؟
در سایتها و سرویسهای عمومی طبیعی است؛ هر بازدید یک درخواست کوچک و پاسخی بزرگ شامل صفحه و تصاویر دارد. CDN و فشردهسازی این سهم را کاهش میدهند.
آیا بهروزرسانی سیستمعامل از سهمیهٔ ترافیک کم میکند؟
اگر ارائهدهنده ترافیک ورودی را حساب کند، بله. در مدلهایی که فقط خروجی محاسبه میشود، دانلود بهروزرسانیها هزینهای ندارد.
چطور بفهمم کدام برنامه بیشترین ترافیک را مصرف میکند؟
ابزار nethogs مصرف شبکه را به تفکیک پروسه نشان میدهد و iftop مقصد اتصالها را. برای آمار بلندمدت از vnStat استفاده کنید.
از ۱٬۲۰۰ تومان در ساعت · پرداخت ریالی



