محتوای آموزشی وبلاگ نتآرام
شاید شنیده باشید «CDN فعال کن، سایتت سریع میشود». این توصیه در بعضی سایتها نتیجهٔ خوبی میدهد، اما برای همهٔ کندیها درمان نیست. اگر عکسهای سایت دیر میرسند، CDN ممکن است کمک زیادی کند؛ اگر صفحهٔ پرداخت منتظر پاسخ کند دیتابیس است، مسئلهٔ دیگری داریم.
در این آموزش با مثال ساده میبینیم CDN چه کاری انجام میدهد، چه وقت ارزش دارد و بعد از فعالکردنش چه چیزهایی را باید امتحان کنیم.
CDN را مثل چند محل نزدیک برای تحویل فایل در نظر بگیرید
فرض کنید سایت روی یک سرور قرار دارد و کاربران از شهرها یا کشورهای مختلف وارد میشوند. بدون CDN، بسیاری از درخواستها باید به همان سرور برسند. یک شبکهٔ CDN میتواند نسخهٔ فایلهای عمومی، مثل تصویر، CSS و JavaScript، را در نقاط مختلف نگه دارد و از نقطهٔ مناسب پاسخ دهد.
به سرور اصلی سایت Origin میگویند؛ یعنی مبدأ محتوا. سرورهای CDN نسخهٔ قابل استفاده را طبق تنظیمات از مبدأ دریافت میکنند. اگر نسخهٔ معتبر آماده باشد، معمولاً پاسخ را همانجا میدهند. اگر آماده نباشد یا درخواست قابل کش نباشد، باید به مبدأ مراجعه کنند. توضیح کش در مستندات Cloudflare
پس فعالشدن CDN به این معنی نیست که همهٔ صفحات و همهٔ درخواستها از سرور اصلی بینیاز شدهاند. قوانین سرویس و نوع محتوای شما تعیین میکنند چه چیزی نگه داشته شود.
اول ببینید کاربر کجا منتظر میماند
سه حالت را از هم جدا کنید. حالت اول: بعد از کلیک، مدت زیادی هیچ پاسخی نمیرسد. حالت دوم: متن زود میآید، اما تصویرهای بزرگ دیر ظاهر میشوند. حالت سوم: صفحه ظاهراً آمده، ولی روی موبایل لمس دکمهها یا نمایش بخش اصلی دیر آماده میشود.
در حالت دوم، کمحجمکردن درست تصاویر و تحویل آنها از مسیر مناسب معمولاً مفید است. در حالت سوم، کدهای سنگین و مقدار کاری که مرورگر انجام میدهد هم اهمیت دارند؛ CDN نمیتواند به جای گوشی کار پردازش را انجام دهد. در حالت اول باید مشخص کنیم انتظار از شبکه است یا از ساخت پاسخ در سرور. آموزش بررسی زمان پاسخ وردپرس برای همین مرحله نوشته شده است.
چه سایتهایی بیشتر سود میبرند؟
سایتی با تصاویر عمومی زیاد یا مخاطبان پراکنده، فرصت بیشتری برای استفاده از کش CDN دارد. همچنین وقتی یک مقاله یا صفحهٔ عمومی ناگهان بازدید زیادی میگیرد، پاسخدادن به بخشی از درخواستها از کش میتواند فشار مبدأ را کمتر کند.
اما باید مسیر واقعی مخاطبان را آزمایش کنیم. نام «شبکهٔ جهانی» تضمین نمیکند از هر اینترنتی بهترین مسیر را داشته باشید. برای سایتی با بیشتر مشتریان ایرانی، تست از چند اتصال داخل ایران هم لازم است. برای مخاطبان خارجی، یک اندازهگیری از اینترنت خودتان کافی نیست.
اگر بخش زیادی از سایت شخصی است، مثل پنل کاربری، صفحهٔ سفارش و اطلاعات حساب، سهم محتوای قابل کش کمتر میشود. همچنان ممکن است فایلهای عمومی از CDN سود ببرند، ولی نباید انتظار داشته باشیم همهٔ عملکرد برنامه با همان روش سریع شود.
اشتباه مهم: کشکردن همهٔ صفحهها
در فروشگاه، سبد خرید و حساب مشتری برای هر نفر متفاوت است. اگر قانونی بگذاریم که بدون شناخت کوکیها و رفتار برنامه، همهٔ پاسخها را عمومی نگه دارد، ممکن است محتوای قدیمی یا حتی اطلاعات نفر دیگری نمایش داده شود. تنظیم CDN باید با افزونهٔ کش و منطق فروشگاه هماهنگ باشد.
بعد از فعالکردن، با دو مرورگر مستقل وارد سایت شوید. در یکی محصولی به سبد اضافه کنید و در دیگری سبد را ببینید. ورود، خروج و تغییر تعداد محصول را هم امتحان کنید. روش کامل این بررسی در آموزش آزمایش کش وردپرس آمده است.
نتیجه را قبل و بعد مقایسه کنید
پیش از تغییر، چند بار صفحهٔ اصلی، یک مطلب و یک صفحهٔ مهم خرید را با شرایط ثابت اندازه بگیرید. بعد از فعالکردن نیز همان نشانیها، همان روش و همان نوع اتصال را استفاده کنید. درخواست اول ممکن است برای پرشدن کش به مبدأ برود؛ نتیجهٔ آن را از دفعات بعد جدا نگه دارید.
در بخش آمار یا هدر پاسخ سرویس میتوانید دنبال وضعیت کش بگردید. عباراتی مثل
HIT معمولاً نشان میدهند نسخهٔ آماده استفاده شده و MISS معمولاً یعنی نسخهٔ آماده در آن نقطه وجود نداشته است؛ نام دقیق هدر در سرویسها فرق میکند. فقط زیادشدن HIT کافی نیست؛ محتوای تازه باید درست دیده شود و مسیر خرید هم سالم بماند.اگر نتیجه بهتر نبود، قوانین کش، مسیر شبکه و کیفیت پاسخ مبدأ را دوباره بررسی کنید. ترتیب مفید برای بیشتر سایتها این است: ابتدا علت کندی را پیدا کنیم، فایلها و برنامه را اصلاح کنیم و سپس CDN را با اندازهگیری واقعی اضافه کنیم. اینطور هزینه و پیچیدگی جدید در جایی استفاده میشود که واقعاً به بازدیدکننده کمک میکند.
برچسبها:
اشتراکگذاری:
لینکدینتلگرامایکس
مقاله قبلی
مقاله بعدی
دیدگاهها (۰)
دیدگاههای تاییدشده و پاسخهای تیم نتآرام
