راهنمای انتخاب CDN — چکلیست یافتن بهترین CDN ایرانی
انتخاب CDN با شمردن تعداد PoP انجام نمیشود. این چکلیست میگوید از هر فروشنده چه بپرسید تا بهترین CDN ایرانی را برای سایت خودتان پیدا کنید.
انتخاب CDN معمولاً با یک جدول مقایسه اشتباه شروع میشود: تعداد PoP، اسم چند مشتری بزرگ و یک نمودار سرعت. هیچکدام از اینها نمیگویند سایت شما پشت آن سرویس چطور رفتار میکند. آنچه واقعاً تعیینکننده است، چند رفتار فنی مشخص است که فقط با پرسیدن سؤال درست از فروشنده و بعد تست روی دامنه واقعی معلوم میشود.
لبهای که به کاربران شما نزدیک است، نه لبههایی که فقط زیادند
تعداد PoP یک عدد بازاریابی است. اگر مخاطب شما ایرانی است و مبدأ هم داخل ایران، صدها نقطه در آمریکای جنوبی هیچ کاری برای شما نمیکند و حتی میتواند مسیر را طولانیتر کند.
سؤال درست این است: «کاربر من از ایرانسل، همراه اول یا شاتل به کدام لبه شما میرسد و آن لبه از چه مسیری به مبدأ من میرود؟» اگر پاسخ مبهم بود، عدد PoP را فراموش کنید.
دسترسپذیری دوطرفه، از ایران و به ایران
این معیار در هیچ چکلیست خارجی پیدا نمیشود، ولی برای ما تعیینکننده است. یک سایت ایرانی دو مسئله جدا دارد:
- از ایران به بیرون — کاربر داخلی باید بدون افت و قطعی به سایت برسد، حتی وقتی مسیرهای بینالملل ناپایدارند.
- از بیرون به ایران — بازدیدکننده خارجی و مهمتر از او Googlebot باید بتواند مبدأ داخل ایران را ببیند. اگر خزنده گوگل در دورههای اختلال نرسد، صفحات از ایندکس خارج میشوند و برگشتن رتبه هفتهها طول میکشد؛ جزئیاتش در دسترسی Googlebot به سایتهای ایرانی آمده است.
بپرسید در زمان اختلال شبکه چه اتفاقی میافتد و آیا سرویس مسیر جایگزین دارد یا فقط منتظر میماند. نقطه قوت اصلی nsin دقیقاً همین است: در دسترس نگه داشتن مبدأ ایرانی از بیرون و باز نگه داشتن مسیر خزنده گوگل.
کنترل کش چقدر دانهریز است؟
سرویس ضعیف فقط یک کلید «کش روشن یا خاموش» میدهد. چیزی که واقعاً به کار میآید اینهاست:
- قانون کش مجزا بر اساس مسیر و هاست، نه یک سیاست واحد برای کل دامنه.
- کنترل TTL در سطح هر قانون؛ مثلاً TTL=3600 برای صفحات محتوایی و کش بلندمدت برای فایلهای استاتیک.
- احترام یا نادیدهگرفتن آگاهانه هدرهای مبدأ مثل
Cache-Control. - bypass مطمئن برای مسیرهای لاگین، سبد خرید و پنل مدیریت. این یکی را جدی بگیرید؛ یک قانون بد نوشتهشده میتواند صفحه کاربر لاگینشده را به بقیه نشان بدهد.
- پاکسازی هدفمند کش، نه فقط «پاک کردن همهچیز».
برای اینکه ببینید هر کدام از این تنظیمات روی چه چیزی اثر میگذارد، مکانیزم کش در CDN را بخوانید.
SSL را چه کسی نگه میدارد و چه کسی تمدید میکند؟
سه سؤال کافی است: گواهی رایگان است؟ تمدید خودکار است؟ از خود لبه سرو میشود؟ اگر تمدید خودکار نباشد، دیر یا زود یک شب سایت با خطای گواهی منقضی بالا میآید. در nsin گواهی رایگان است، خودکار تمدید میشود و مستقیماً از لبه سرو میشود.
WAF، محدودیت نرخ و موتور قوانین
فرق «محافظت از DDoS» تبلیغاتی با محافظت واقعی در جزئیات است. بپرسید WAF مدیریتشده است یا باید خودتان قانون بنویسید، آیا میتوانید روی یک مسیر خاص مثل صفحه ورود وردپرس یا endpoint احراز هویت محدودیت نرخ بگذارید، و آیا قوانین مسیر (path rules) بلافاصله اعمال میشوند یا با تأخیر انتشار. لایههای این محافظت در WAF و محافظت در برابر DDoS توضیح داده شده است.
DNS جزو سرویس هست یا نه؟
اگر CDN میزبانی کامل DNS ندارد، رکوردها جای دیگری میمانند و هر تغییر میشود هماهنگی بین دو پنل: propagation طولانیتر، خطای انسانی بیشتر و یک وابستگی اضافه در زمان بحران. nsin میزبانی کامل DNS ابری دارد؛ رکوردها، پروکسی و کش در یک جا مدیریت میشوند.
لاگ واقعی دارید یا فقط نمودار؟
این معیاری است که بیشتر خریدارها فراموش میکنند و سه ماه بعد پشیمان میشوند. وقتی کاربری میگوید «سایت خطا داد»، باید در چند ثانیه ببینید آن درخواست مشخص با چه وضعیتی پاسخ گرفته: HTTP 200 بوده یا 502، از کش آمده یا از مبدأ، کدام قانون رویش اعمال شده. نمودار ترافیک ماهانه این سؤال را جواب نمیدهد؛ لاگ زنده درخواستها جواب میدهد.
وقتی مبدأ از کار میافتد چه اتفاقی میافتد؟
سرور شما بالاخره یک روز از دسترس خارج میشود. در آن لحظه سه رفتار ممکن است:
- بدترین حالت: خطای 502 خام به کاربر نشان داده میشود.
- قابل قبول: یک صفحه خطای مرتب و برندشده.
- بهترین حالت: نسخه کششده صفحات سرو میشود تا سایت برای بازدیدکننده و خزنده گوگل زنده بماند، و اگر بیش از یک مبدأ تعریف کرده باشید، ترافیک به مبدأ سالم منتقل شود.
nsin هم multi-origin failover دارد و هم صفحات کششده را وقتی مبدأ در دسترس نیست سرو میکند.
مدل قیمتگذاری و لحظهای که سهمیه تمام میشود
سه مدل رایج وجود دارد: بر اساس دامنه که قابل پیشبینی است، بر اساس مصرف که برای ترافیک نوسانی منصفانهتر است، و تعهد بلندمدت که روی کاغذ ارزانتر است ولی شما را قفل میکند.
اما سؤال حیاتی «چقدر؟» نیست، «وقتی سهمیه تمام شد چه میشود؟» است. سایت قطع میشود؟ پروکسی خاموش میشود و ترافیک مستقیم به مبدأ میرود؟ یا مازاد محاسبه میشود؟ در nsin پلنها per-domain هستند با یک کیف پول مشترک، و ترافیک مازاد بهصورت pay-as-you-go بر حسب گیگابایت و به تومان حساب میشود، با نرخ متفاوت برای ترافیک کششده، پروکسیشده و مستقیم. یعنی هرچه نرخ hit کش بالاتر برود، صورتحساب پایینتر میآید.
اگر فروشنده نتواند در یک جمله بگوید وقتی سهمیه ترافیک تمام شد سایت شما چه رفتاری خواهد داشت، شما در حال خریدن یک قطعی برنامهریزینشده هستید.
پشتیبانی و هزینه خروج
پشتیبانی را قبل از خرید بسنجید، نه بعد از آن: یک سؤال فنی مشخص بپرسید و زمان و کیفیت پاسخ را ببینید. برای هزینه خروج هم یک سؤال کافی است: اگر فردا بخواهم بروم، چند دقیقه طول میکشد؟ اگر رکوردها با TTL کوتاه قابل برگرداندن باشند و پیکربندی در یک فرمت اختصاصی قفل نشده باشد، هزینه خروج نزدیک صفر است.
جدول جمعبندی معیارها
| معیار | چرا مهم است | چطور بسنجید |
|---|---|---|
| نزدیکی لبه به مخاطب | مسیر کوتاهتر یعنی TTFB و LCP بهتر | تست از چند اپراتور ایرانی روی دامنه آزمایشی |
| دسترسی از بیرون به ایران | ایندکس ماندن صفحات در گوگل | بررسی Search Console و تست از خارج |
| دانهریزی قوانین کش | کنترل جداگانه صفحات پویا و استاتیک | بپرسید قانون بر اساس path و هاست دارد یا نه |
| SSL خودکار | جلوگیری از قطعی ناشی از انقضای گواهی | بررسی تمدید خودکار و سرو شدن از لبه |
| WAF و محدودیت نرخ | مهار brute force و هجوم ربات | یک قانون rate limiting بسازید و تست کنید |
| میزبانی DNS | مدیریت یکجا و تغییر سریع در بحران | آیا رکوردها در همان پنل مدیریت میشوند |
| لاگ زنده درخواست | عیبیابی در چند ثانیه بهجای چند ساعت | یک درخواست بفرستید و در پنل پیدایش کنید |
| رفتار در قطعی مبدأ | زنده ماندن سایت هنگام خرابی سرور | سرور را موقتاً ببندید و نتیجه را ببینید |
| مدل قیمت و مازاد | پرهیز از صورتحساب یا قطعی غافلگیرکننده | سناریوی اتمام سهمیه را بپرسید |
| هزینه مهاجرت و خروج | نبود قفل فروشنده | بپرسید برگشت به حالت قبل چقدر طول میکشد |
بهترین روش سنجش: تست روی سایت واقعی
هیچکدام از این معیارها را نمیشود از روی صفحه تعرفه فهمید. هر دامنه جدید در nsin یک دوره آزمایشی رایگان هفتروزه با تمام امکانات پلن Enterprise میگیرد؛ یعنی WAF، قوانین کش، لاگ زنده و failover را روی سایت خودتان میسنجید، نه روی یک دموی آماده. اگر نگران قطعی حین جابهجایی هستید، مراحل امن آن در راهاندازی CDN بدون قطعی سایت آمده است.
پرسشهای متداول
بهترین CDN ایرانی کدام است؟
«بهترین» به مخاطب و معماری شما بستگی دارد. اگر مبدأ داخل ایران است و مخاطب هم ایرانی، معیار درست دسترسپذیری دوطرفه و کیفیت مسیر است، نه تعداد لبهها. سرویسی را انتخاب کنید که بتوانید چند روز روی سایت واقعی خودتان تستش کنید.
آیا CDN خارجی برای سایت ایرانی مناسب است؟
از نظر فنی کار میکند، ولی دو مشکل دارد: پرداخت ارزی و رفتار غیرقابل پیشبینی در دورههای اختلال شبکه بینالملل. برای سایتی که مخاطبش عمدتاً داخل ایران است، سرویسی که مسیر داخلی را میشناسد نتیجه پایدارتری میدهد.
چطور بفهمم CDN واقعاً سایتم را سریعتر کرده؟
قبل و بعد از فعالسازی، Core Web Vitals را اندازه بگیرید، بهخصوص LCP که هدف قابل قبولش زیر 2.5 ثانیه است، و نرخ hit کش را در پنل ببینید. اگر بیشتر درخواستها از کش پاسخ میگیرند ولی زمان بارگذاری تغییر نکرده، گلوگاه جای دیگری در سایت است.
مهاجرت به CDN جدید باعث قطعی سایت میشود؟
نه، اگر درست انجام شود. پیش از تغییر nameserver، TTL رکوردها را کم کنید، رکوردها را در سرویس جدید عیناً بسازید و بعد سوئیچ کنید. با این روش جابهجایی بدون وقفه انجام میشود و برگشت هم سریع است.
همین امروز یک دامنه را در پنل nsin اضافه کنید و در طول دوره آزمایشی، تکتک بندهای این چکلیست را روی سایت خودتان بسنجید. برای جزئیات فنی هر قابلیت، از ساختار قوانین کش تا تنظیم failover، به مستندات مراجعه کنید.