آنچه در این مقاله میخوانید:
کاربران اینترنت همیشه به دنبال به روزترین اطلاعات در کمترین زمان ممکن هستند. اگر وبسایت شما برای نمایش این اطلاعات کمی دیرتر از حد معمول طول بکشد، بسیاری از کاربران آن را ترک کرده و به وبسایت دیگری (رقیب شما) مراجعه میکنند.
خوشبختانه، راه حلهای مختلفی برای افزایش سرعت بارگذاری وبسایت وجود دارد، که یکی از این راه حلها، کاهش TTL (Time-to-Live– تایم تو لیو / زمان حیات) است. شما میتوانید با تنظیم TTLبرای وبسایت خود، علاوه بر بهبود زمان بارگذاری صفحات وب، از آن برای حفظ به روز بودن اطلاعات نیز استفاده کنید.
در این مقاله، علاوه بر تعریف TTL و نحوه کارکرد آن، آموزش کاهش TTL با استفاده از CDN را به شما توضیح میدهیم.
TTL چیست؟
TTL (مخفف عبارت Time-to-Live) مدت زمانی است که تعیین میکند دادههای یک بسته (Packet – پکت) در شبکه چه مدت فعال بماند. پس از پایان این مدت زمان مشخص، بسته مورد نظر از داخل شبکه توسط روتر (Router) حذف میشود.
گاهی اوقات از TTL به عنوان hops (هاپ به معنی پرش) نیز یاد میشود؛ شاید سوال شود که هاپ چیست؟ Hop تعداد دفعاتی است که یک بسته بین روترهای مختلف پرش میکند.
هرگاه TTL بین راه منقضی و حذف شود، روتر باید اطلاعات بسته منقضی شده را همراه با بهروزرسانیهای انجام شده روی آن، دوباره بازیابی کند.
توضیحی درباره به روزرسانی بستهها: محتوای وبسایت، شامل فایلهای متنی، عکس، فایلهای JS، CSS و…، در شبکه و بین روترهای مختلف جابهجا میشود تا به دست کاربر برسد. همهی این فایلها به چند بسته تقسیم شده و با تعیین TTL در شبکه جریان پیدا میکنند. این فایلها ممکن است در بازههای زمانی مختلف توسط مدیر یا تولیدکننده محتوای وبسایت تغییر کرده و به روزرسانی شوند. اگر این بهروزرسانی قبل از اتمام زمان TTL هر یک از بستهها انجام شده باشد، کاربر نمیتواند بلافاصله محتوای به روزرسانی شده را مشاهده کند. ابتدا باید TTL آن تمام شود و روتر درخواست بازیابی بسته جدید را به سرور ارسال کند. بنابراین، تعیین مدت زمان مناسب TTL با توجه به نوع محتوایی که وجود دارد، بسیار مهم است.
بیشتر فناوریهای شبکه که به نوعی از Cache استفاده میکنند، مانند DNS، Ping و IP، با TTL سروکار دارند. شبکههای تحویل محتوا (CDN) نیز برای ذخیره (Cache) اطلاعات وبسایت در سرورهای لبه خود از TTL استفاده میکنند؛ بدین گونه که CDN با TTL تعیین میکند که محتوای یک وبسایت تا چه زمانی در سرورهای لبه باقی بمانند و سپس برای بازیابی محتوای بهروزرسانی شده، دوباره درخواست بفرستد.
در ادامه این مقاله، نگاهی عمیقتر به نحوه عملکرد دقیق TTL خواهیم داشت. ولی از آنجایی که عملکرد TTL در DNS، Ping و هدرهای IP با هم متفاوت است، ابتدا به تعریف TTL در هر یک از این موارد خواهیم پرداخت. پس با اَبر دِراک همراه باشید.
تعریف TTL در DNS
سرورهای میزبان وب صرفا براساس آدرس IP وبسایتها را شناسایی میکنند و نمیتوانند نام دامنه مانند “derak.cloud” را تفسیر کنند؛ تفسیر نام دامنه برعهده DNS است. زمانی که یک کاربر نام دامنهای را در آدرس مرورگر خود وارد میکند، سرورهای DNS ابتدا آن را به آدرس IP تبدیل کرده و سپس به میزبان وب ارسال میکند.
DNS همانند پلی میان نام دامنه و سرور وب عمل میکند که با تبدیل نام دامنه به آدرس IP و بالعکس، دسترسی به وبسایتها را برای کاربران بسیار آسان میسازد.
سرورهای DNS برای ذخیره رکوردهای عملیات تبدیل از مکان ذخیرهسازی یا Cache (کَش) استفاده میکنند؛ اگر این رکوردها در Cache ذخیره شوند، پاسخگویی DNS سریعتر خواهد بود. تعیین مدت زمانی که رکوردهای DNS باید در کش نگهداری شوند و بعد از چه زمانی دوباره بهروزرسانی شوند، برعهده TTL است.
تعریف TTL در Ping
Ping چیست؟ Ping ابزاری برای اندازهگیری زمان اتصال و تأخیر شبکه است. به عنوان مثال، Ping میتواند مدت زمانی را که طول میکشد تا درخواست ارسالی شما یک مسیر رفت و برگشت را طی کند، اندازهگیری کند.
بعد از اجرای تست Ping، گزارشی که به شما نشان داده میشود شامل یکسری اطلاعات، از جمله TTL است. مقدار TTL در این گزارش، اطلاعات بیشتری درباره مدت زمانی که طول کشیده است تا اتصال کاملا برقرار شود، ارائه میدهد.
نتایج گزارش Ping براساس تست کردن چهار بسته داده جداگانه ثبت میشود و با نمایش مقدار زمان صرف شده و TTL آن نشان میدهد که این بستههای داده چند “hop” انجام دادهاند.
با این حال، این گزارش نمیتواند TTL تنظیم شده توسط سرور وبسایت را به شما نشان دهد. برای محاسبه TTL واقعی باید این مقدار زمان را نیز بدانید.
تعریف مقدار TTL
مقدار TTL برحسب ثانیه اندازهگیری میشود. برای مثال، وقتی مقدار TTL وبسایت خود را 600 تعیین میکنید، یعنی 600 ثانیه یا 10 دقیقه.
از نظر تئوری میتوان TTL را به اندازه یک ثانیه تنظیم کرد.
حداقل TTL موجود معمولا 30 (معادل 30 ثانیه) و حداکثر 86400 (24 ساعت) است. با این حال، اکثر وبسایتها از TTL پیشفرض 3600 (یک ساعت) استفاده میکنند.
از نظر فنی، می توانید هر مقدار TTL را بین پارامترهای حداقل و حداکثر تنظیم کنید. در ادامه، در مورد اینکه چگونه میتوانید بهترین زمان را برای TTL وبسایت خود انتخاب کنید، بحث خواهیم کرد.
تعریف TTL در IP
IPv4 و IPv6 دو نوع مختلفی از IPها هستند که بستههای داده را از طریق یکسری قوانین (یا پروتکلها) به سمت مقصد مورد نظر هدایت میکنند. این IPها حاوی اطلاعاتی، مانند آدرس مبدأ و مقصد هستند که در ابتدای یک بسته داده به نام هدر (Header) ذخیره شدهاند.
هدر IPv4 و هدر IPv6 با هم متفاوتاند؛ هدر IPv4 شامل فیلد TTL است، اما این فیلد در هدر IPv6 با نام Hop Limit شناخته میشود.
Hop Limit تعیین میکند که یک بسته داده قبل از اینکه روتر آن را دور بیندازد، چند “Hop” حرکت کند.
TTL چگونه کار میکند؟
وقتی یک بسته داده ایجاد میشود و در اینترنت قرار میگیرد، ممکن است تا بینهایت بین روترها جابهجا شود و هرگز از بین نرود. برای کاهش این احتمال، در قسمتی از هر بسته داده یک زمان انقضا نوشته میشود، که به آن زمان حیات (TTL) یا محدودیت هاپ (Hop Limit) میگویند. این مقدار تعیین میکند که این بسته تا چه مدت باید در شبکه به حرکت خود ادامه دهد. هر بار که روتر بستهای را دریافت میکند، یک رقم از تعداد TTL را کم کرده و سپس آن را به مکان بعدی در شبکه ارسال میکند.
هرگاه مقدار TTL برابر با صفر شد، روتر بسته را دور انداخته و یک پیام ICMP (ICMP برای تشخیص مشکلات شبکه از طریق اینترنت استفاده میشود) را به سرور میزبان ارسال میکند.
همچنین، TTL میتواند مدت زمانی که یک بسته داده در بین روترها در گردش بوده است را نشان دهد. فرستندهی بسته میتواند از طریق Ping یا Traceroute اطلاعات مسیری را که بسته در اینترنت طی کرده است، دریافت کند.
کاربرد TTL در وبسایت
اگر شما صاحب یک وبسایت هستید، احتمالا یکی از نگرانیهای اصلی شما سرعت بارگذاری وبسایت است. اگر محتوای شما خیلی کند بارگذاری شود، ممکن است بازدیدکنندگان و مشتریان خود را از دست بدهید. علاوه بر این، سرعت بارگذاری وبسایتها تأثیر بسیار زیادی روی بهینهسازی موتورهای جستجو (SEO) دارد.
پس، بیایید TTL را در زمینه Cache تحلیل کنیم. وبسایت شما شامل مجموعهای از صفحات، کدها، تصاویر و سایر مطالب است که ممکن است زمان زیادی طول بکشد تا بارگذاری شوند. اگر همه این محتوا برای هر کاربر بارگیری مجدد شود، میتواند سرعت وبسایت شما را به میزان قابل توجهی کاهش دهد.
یکی از راه حلهای افزایش سرعت بارگذاری محتوای وبسایت، تنظیم TTL طولانیتر است تا محتوای کش شده از وبسایتتان قبل از بهروزرسانی، برای مدت بیشتری روی اینترنت وجود داشته باشد. در نتیجه، وبسایت شما بسیار سریعتر بارگذاری میشود و فشار کمتری به سرور وارد میکند.
با این حال، تعیین TTL کاملا به نوع محتوا و موضوع وبسایت شما بستگی دارد. به عنوان مثال، وبسایتهایی که بهطور مداوم به روز میشوند، مانند وبسایتهای خبری باید از TTL کمتری استفاده کنند؛ TTL طولانی در اینجا ممکن است باعث ناکارآمدی اطلاعات به روز شود.
علاوه بر این، TTLهای با زمان کمتر میتوانند از وبسایت شما در برابر حملات Denial-of-Service (DDoS) محافظت کنند. اینگونه حملات با ارسال درخواستهای بیشمار از مکانهای مختلف به بخشی از وبسایت شما در مدت زمان کوتاه شروع میشود. تنظیم TTL کوتاه موجب به روزرسانیهای مکرر رکوردهای DNS شده و از این طریق احتمال موفق شدن حملات DDoS به طور چشمگیری کاهش پیدا میکند.
اگر به دنبال راهی مطمئن برای تنظیم TTL وبسایت خود هستید، CDN اَبر دِراک محیطی کاملا امن، آسان و هوشمند را در اختیار شما قرار میدهد. برای کسب اطلاعات بیشتر درباره پلنهای CDN کلیک کنید.
تنظیم TTL با CDN اَبر دِراک
CDN اَبر دِراک از TTL برای تعیین مدت زمان ارائه محتوای کش شده از سرور لبه، قبل از واکشی (Fetch) کپی جدید همان محتوا از سرور اصلی، استفاده میکند. CDN میتواند با تنظیم مناسب TTL، محتوای بهروز شده را بدون نیاز به ارسال درخواست به سرور اصلی، به کاربران ارائه دهد. این نوع بهینهسازی با CDN علاوه بر ارائهی سریعتر محتوا به کاربر، پهنای باند مورد نیاز را نیز کاهش میدهد.
تصمیمگیری در مورد TTL مناسب برای وبسایت میتواند چالش برانگیز باشد. خوشبختانه، یکسری راهکارها و دستورالعملهایی وجود دارد که با پیروی از آنها میتوان بهترین تصمیم را گرفت.
پیشنهاد ما این است که زمان TTL را بین 1 الی 24 ساعت تنظیم کنید. به یاد داشته باشید که مقادیر TTL براساس “ثانیه” اندازهگیری میشوند، بنابراین بهتر است TTL حدودا بین 3600 تا 86400 ثانیه تنظیم گردد.
این مقدار TTL میتواند زمان بارگذاری وبسایت را کاهش دهد، که در نتیجه تجربه کاربری را برای بازدیدکنندگان شما بهبود میبخشد و نرخ پرش (bounce rate) را کاهش میدهد.
اگر نیاز به راهنمایی و اطلاعات بیشتر در این زمینه داشتید، با کارشناسان ما تماس بگیرید.