TTL (Time To Live) عددی به ثانیه است که کنار هر رکورد DNS نوشته می‌شود و می‌گوید دیگران تا چه مدت می‌توانند جواب این رکورد را در حافظه نگه دارند و دوباره نپرسند. TTL بالا یعنی تغییرات دیر دیده می‌شود ولی جواب‌ها سریع‌ترند؛ TTL پایین یعنی تغییرات سریع اعمال می‌شود. برای بیشتر سایت‌ها ۳۶۰۰ (یک ساعت) تا ۱۴۴۰۰ (چهار ساعت) مقدار مناسبی است.

چطور کار می‌کند؟

وقتی کسی آدرس سایت شما را باز می‌کند، شرکت اینترنتی او از سرور DNS شما می‌پرسد این دامنه کجاست. جواب را می‌گیرد و به اندازه‌ی TTL نگه می‌دارد. تا آن زمان تمام نشود، برای هیچ‌کدام از مشترک‌هایش دوباره نمی‌پرسد. پس اگر TTL یک روز باشد و شما آی‌پی را عوض کنید، بعضی‌ها تا یک روز هنوز به آدرس قدیمی می‌روند. (DNS چطور کار می‌کند)

عددهای رایج

ثانیه معادل کاربرد
۳۰۰ ۵ دقیقه روزهای قبل و بعد از جابه‌جایی
۳۶۰۰ ۱ ساعت مقدار متعادل برای بیشتر رکوردها
۱۴۴۰۰ ۴ ساعت پیش‌فرض بسیاری از هاست‌های سی‌پنل
۸۶۴۰۰ ۱ روز رکوردهایی که تقریباً هیچ‌وقت عوض نمی‌شوند

برای هر نوع رکورد

رکورد پیشنهاد چرا
A و AAAA ۱ تا ۴ ساعت با تغییر هاست عوض می‌شود
CNAME ۱ تا ۴ ساعت مثل بالا
MX ۴ ساعت تا ۱ روز کم عوض می‌شود
TXT (SPF، DKIM، تأیید مالکیت) ۱ ساعت موقع تنظیم ایمیل چند بار اصلاح می‌شود
NS ۱ روز یا بیشتر خیلی کم عوض می‌شود؛ مقدار واقعی‌اش را مرجع پسوند تعیین می‌کند

قبل از جابه‌جایی هاست

  1. یک تا دو روز قبل، TTL رکوردهای A، www و MX را روی ۳۰۰ بگذارید. این تغییر خودش به اندازه‌ی TTL قبلی طول می‌کشد تا همه‌جا دیده شود؛ برای همین زودتر انجامش می‌دهید.
  2. روز جابه‌جایی آی‌پی را عوض کنید. حالا ظرف چند دقیقه همه به سرور جدید می‌رسند.
  3. چند روز بعد که همه‌چیز پایدار بود، TTL را به مقدار عادی برگردانید.

همین سه قدم، قطعی چندساعته‌ی جابه‌جایی را به چند دقیقه می‌رساند.

کجا تنظیم می‌شود؟

هرجا DNS دامنه مدیریت می‌شود. اگر نیم‌سرورها مال هاست است، در سی‌پنل، Zone Editor، روی Manage کنار دامنه بزنید؛ ستون TTL کنار هر رکورد قابل ویرایش است. اگر DNS روی سرویس دیگری مثل کلودفلر است، در پنل همان سرویس. (کار با Zone Editor، DNS دامنه را کجا مدیریت کنیم)

سه سوءبرداشت

  • «TTL را کم کردم ولی تغییر فوری نشد.» کم کردن TTL روی جواب‌هایی که قبلاً در حافظه‌ی دیگران نشسته اثر ندارد. باید به اندازه‌ی TTL قبلی صبر کنید.
  • «TTL صفر بهترین است.» نه؛ هر بازدید یک پرسش DNS اضافه می‌شود و بعضی سرورها مقدار خیلی کم را نادیده می‌گیرند.
  • «تغییر نیم‌سرور هم با TTL رکوردهای من سریع می‌شود.» نه؛ نیم‌سرورها را مرجع پسوند نگه می‌دارد و زمان خودش را دارد.

سوال‌های رایج

TTL روی سرعت سایت اثر دارد؟

اثرش ناچیز است: فقط اولین بازدید بعد از تمام شدن TTL یک پرسش DNS اضافه دارد که چند ده میلی‌ثانیه طول می‌کشد.

حالت Auto در کلودفلر یعنی چه؟

برای رکوردهایی که از پراکسی رد می‌شوند، TTL را خود سرویس مدیریت می‌کند (حدود پنج دقیقه) و قابل تغییر نیست.

همه‌ی شرکت‌های اینترنتی به TTL احترام می‌گذارند؟

بیشترشان بله، ولی بعضی جواب را بیشتر از TTL نگه می‌دارند. برای همین همیشه چند ساعت حاشیه در نظر بگیرید.