وبلاگ نت‌آرامآموزش، تجربه و راهکارهای زیرساخت

CDN چه زمانی سایت را سریع‌تر می‌کند و چه زمانی نه؟

تفاوت Edge و Origin، Cache HIT و MISS، صفحات پویا، Purge و معیارهای واقعی برای تصمیم‌گیری درباره CDN بدون پنهان‌کردن گلوگاه سرور.

۸ مهر ۱۴۰۵
توسط تیم فنی نت‌آرام
۳ دقیقه زمان مطالعه
۰ دیدگاه
محتوای تخصصی، ساده و کاربردی
هماهنگ با هویت حرفه‌ای نت‌آرام
بازگشت به لیست مقالات
تصویر شاخص مقاله CDN چه زمانی سایت را سریع‌تر می‌کند و چه زمانی نه؟ در وبلاگ نت‌آرام
محتوای آموزشی وبلاگ نت‌آرام
CDN نسخه قابل‌کش محتوا را در نقاط نزدیک‌تر به کاربر نگه می‌دارد. اگر بیشتر زمان صرف انتقال تصویر، CSS، JavaScript یا فایل دانلودی می‌شود، این نزدیکی اثر محسوسی دارد. اما وقتی سرور مبدأ برای ساخت HTML هشت ثانیه منتظر دیتابیس یا API است، CDN لزوماً آن هشت ثانیه را حذف نمی‌کند.

سه زمان را از هم جدا کنید

برای تصمیم درست، زمان DNS و اتصال، زمان پاسخ مبدأ و زمان دانلود محتوا را جدا ببینید. CDN معمولاً مسیر شبکه و تحویل فایل را بهتر می‌کند. Cache کامل صفحه می‌تواند بخشی از پردازش مبدأ را نیز حذف کند، اما صفحات شخصی، سبد خرید و پنل کاربر اغلب قابل‌کش عمومی نیستند.
با هدرهای پاسخ مشخص کنید درخواست HIT بوده یا MISS. مقایسه صفحه‌ای که از Edge تحویل شده با درخواستی که به Origin رفته، اثر واقعی را نشان می‌دهد.

CDN در این سناریوها معمولاً مفید است

  • کاربران در چند کشور یا فاصله زیاد از سرور هستند؛
  • تصاویر، ویدیو یا فایل دانلودی سهم بزرگی از صفحه دارد؛
  • ترافیک ناگهانی روی محتوای عمومی رخ می‌دهد؛
  • TLS و اتصال مکرر از Edge نزدیک‌تر برقرار می‌شود؛
  • نیاز به جذب بخشی از حملات حجمی و محدودسازی Bot وجود دارد.
هرچه درصد Cache HIT بالاتر و فایل‌ها سنگین‌تر باشند، صرفه‌جویی پهنای باند و زمان بیشتر است.

چه زمانی CDN مشکل اصلی را پنهان می‌کند؟

اگر صفحه ورودنشده سریع اما Checkout کند است، احتمالاً بخش پویا در مبدأ محدود است. اگر MISSها TTFB بالا دارند، PHP، دیتابیس، Worker یا API بیرونی را بررسی کنید. CDN ممکن است صفحه اصلی را خوب نشان دهد و هم‌زمان تجربه واقعی مشتری در پرداخت ضعیف بماند.
مبدأ دور از Edge یا ارتباط ناپایدار میان Edge و Origin نیز می‌تواند Cache MISS را بدتر کند. انتخاب لوکیشن سرور مجازی باید مسیر کاربران و سرویس‌های بیرونی را با هم در نظر بگیرد.

Cache Rule خطرناک است

کش‌کردن صفحه شخصی یا پاسخ دارای Cookie می‌تواند داده کاربر را به دیگری نشان دهد. مسیرهای حساب، سبد، پرداخت، API خصوصی و مدیریت باید سیاست صریح داشته باشند. Query String و Headerهایی که نسخه محتوا را تغییر می‌دهند نیز باید در Cache Key درست لحاظ شوند.
Purge هم بخشی از انتشار است. اگر فایل جدید با همان نام جایگزین شود و Edge نسخه قبلی را نگه دارد، کاربران ترکیبی از کد قدیم و جدید می‌بینند. نام‌گذاری نسخه‌دار فایل‌های استاتیک از پاک‌سازی سراسری مطمئن‌تر است.

با این چهار معیار آزمایش کنید

  1. TTFB درخواست HIT و MISS؛
  2. Cache Hit Ratio در ساعت عادی و کمپین؛
  3. پهنای باند و درخواست Origin قبل و بعد؛
  4. زمان صفحات پویا از چند موقعیت جغرافیایی.
یک هفته داده معمولاً از یک تست تک‌مرحله‌ای معتبرتر است. خطای 5xx، Timeout مبدأ و تعداد Purge را نیز کنار سرعت ببینید.

ترتیب اجرای منطقی

ابتدا مبدأ را پایدار کنید، Headerهای Cache را تعیین کنید، فایل‌های استاتیک را نسخه‌دار سازید و سپس CDN را روی دامنه آزمایشی یا درصد محدود فعال کنید. صفحات حساس را مستثنا و پس از تغییر، لاگ Edge و Origin را تطبیق دهید.

جمع‌بندی

CDN فاصله و بار تحویل محتوای قابل‌کش را کم می‌کند؛ جایگزین بهینه‌سازی برنامه و دیتابیس نیست. تصمیم را با HIT Ratio، TTFB مبدأ و سهم فایل‌های استاتیک بگیرید. اگر علت کندی درست شناخته شود، CDN یک لایه مؤثر است؛ اگر نه، فقط ظاهر گلوگاه را تغییر می‌دهد.
اشتراک‌گذاری:
لینکدینتلگرامایکس
مقاله قبلی
مقاله قبلی وجود ندارد.

دیدگاه‌ها (۰)

دیدگاه‌های تاییدشده و پاسخ‌های تیم نت‌آرام