Merekomendasikan DNS SOA record TTL default?

43

Saat ini kami memiliki catatan SOA DNS kami yang ditetapkan sebagai berikut untuk stackoverflow.com:

    primary name server = ns1.p19.dynect.net
    serial  = 2009090909
    refresh = 3600 (1 hour)
    retry   = 600 (10 mins)
    expire  = 604800 (7 days)
    default TTL = 60 (1 min)

Apakah ada pilihan yang lebih baik untuk refresh / coba lagi / kedaluwarsa / TTL default kami untuk situs seperti stackoverflow.com yang menerima hampir 1 juta tampilan halaman per hari?

Geoff Dalgas
sumber

Jawaban:

48

Tingkat lalu lintas aktual ke situs tidak relevan.

Semua pengaturan itu (kecuali untuk "TTL default") hanya memengaruhi seberapa sering server DNS sekunder domain Anda melakukan polling pada server DNS primer untuk pembaruan.

Jika zona Anda hanya jarang berubah (yang menurut saya memang milik Anda), maka nilai Anda untuk "menyegarkan" saat ini agak rendah. Biasanya primary harus mengirim NOTIFYpesan ke masing-masing secondaries setiap kali ada pembaruan di mana secondaries segera mengambil file zone. Saat ini mekanisme "segarkan / coba lagi / kedaluwarsa" hanyalah penghalang untuk itu.

Dalam hal apa pun, kemungkinan penyedia DNS Anda secara otomatis menyinkronkan perubahan ke semua server DNS yang relevan dengan cepat tanpa menggunakan mekanisme sinkronisasi bawaan DNS sehingga nilai sebenarnya mungkin tidak relevan.

Perhatikan bahwa bidang "TTL default" tidak lagi berarti apa yang dikatakannya. TTL default asli diatur (setidaknya dalam BIND) dengan $TTLarahan, dan itu hanya digunakan ketika tidak ada set TTL eksplisit pada setiap catatan.

Arti "default TTL" bidang telah diubah di RFC 2308 dan itu sebenarnya petunjuk untuk caching negatif . Jika server Anda mengembalikan respons negatif (mis. NXDOMAINAtau NODATA), berapa lama server jarak jauh harus menunggu sebelum mencoba lagi.

Nilai saat ini sedikit di sisi rendah, tetapi tidak ada salahnya membiarkannya apa adanya. Lagipula sering diabaikan.

Alnitak
sumber
Perhatikan bahwa nilai "TTL default" hanya digunakan untuk TTL caching negatif jika kurang dari TTL dari catatan SOA itu sendiri. Lihat 5 - Caching Negative AnswersRFC yang dirujuk untuk detailnya. Info lebih lanjut di sini: serverfault.com/questions/426807/…
htaccess
8

Menariknya, halaman diagnostik DNS dari orang-orang dyn (host DNS kami) ..

http://dnscog.com/report/stackoverflow.com

.. mengatakan ini di MINTTL:

Periksa SOA MINTTL

Nilai SOA minttl Anda adalah 60 detik, yang lebih rendah dari minimum yang disarankan untuk penggunaan DNS umum. Jika Anda secara teratur melakukan perubahan pada zona DNS Anda, atau menggunakan layanan penyeimbangan beban berbasis DNS, nilai kecil di sini OK.

Rekomendasi

Pertimbangkan untuk memberi nilai antara 1800 dan 86400 ke bidang SOA minttl Anda.

dan ini di SOA menyegarkan

Periksa penyegaran SOA

Bidang penyegaran SOA Anda adalah 3600 detik, yang lebih rendah dari minimum yang disarankan. Memiliki nilai penyegaran yang rendah dapat menghasilkan volume kueri yang tidak perlu atau perilaku yang tidak terduga, terutama jika Anda menggunakan nilai 0. Jika Anda secara teratur melakukan perubahan pada zona DNS Anda, atau menggunakan layanan penyeimbangan beban berbasis DNS, nilai yang lebih kecil akan membantu memastikan perubahan menyebar secepat mungkin.

Rekomendasi

Pertimbangkan untuk memberi nilai antara 7200 dan 10800 ke bidang penyegaran SOA Anda.

Halaman diagnostik lain di http://www.intodns.com/stackoverflow.com tidak menawarkan petunjuk nyata.

Jeff Atwood
sumber
12
Rekomendasi minttl mereka adalah palsu. Bidang itu tidak memiliki makna selama lebih dari satu dekade. Penjelasan mereka tentang penyegaran juga dicurigai. Interval penyegaran hanya memengaruhi slave primer - sekunder, dan dengan zona kecil seperti Anda, nilai ini tidak akan menimbulkan masalah apa pun. Lebih jauh lagi jika penyedia DNS menggunakan mekanisme sinkronisasi out-of-band maka nilai aktualnya bisa diperdebatkan. (NB: Saya mencari DNS untuk mencari nafkah)
Alnitak
4
ps jika seseorang benar-benar memberikan ini sebagai penjelasan dan rekomendasi mereka sendiri untuk nilai-nilai saya akan memberikan suara -1. Saat Anda mengutip orang lain, saya tidak akan ;-)
Alnitak
2
Untuk memperjelas, bidang TTL Minimum SOA menyimpan nilai TTL yang akan digunakan untuk cache permintaan negatif - permintaan yang dibuat untuk zona untuk beberapa sumber daya yang tidak ada. Penjelasan mereka agak benar tetapi gagal mengklarifikasi hanya untuk tanggapan negatif. Kedua, Refresh SOA tidak pernah digunakan oleh permintaan DNS normal, itu hanya digunakan dalam situasi di mana Anda memiliki server nama sekunder (budak) memperbarui diri dari server nama utama (master) Anda. Jadi penjelasan mereka tentang bidang itu jelas tidak benar.
thomasrutter
3
Sungguh, ada begitu banyak informasi yang salah tentang arti catatan-catatan ini di internet sehingga sulit untuk menemukan apa pun yang sebenarnya benar. Singkatnya, sebagian besar nilai dalam catatan SOA tidak berarti untuk kueri DNS yang sebenarnya, dan sebagai gantinya dimaksudkan untuk Anda gunakan untuk mekanisme transfer zona internal Anda sendiri dari server nama primer ke sekunder. Pengecualiannya adalah MinTTL tetapi itu bukan, seperti yang disarankan oleh standar, TTL minimum dan juga bukan TTL "default", melainkan TTL yang disarankan untuk menyimpan hasil negatif. Yang lebih penting adalah TTL individual untuk catatan seperti A dan NS.
thomasrutter
4
Semua situs tipe intodns / dnscog / dnsstuff dll hanya menyalin informasi yang salah satu sama lain. Anda bisa tahu karena banyak teks mereka yang disalin. Saya menemukan MXToolbox ( mxtoolbox.com/DNSCheck.aspx ) sebagai sumber yang lebih andal. Sebagai contoh, penjelasan mereka tentang nilai SOA MINTTL di sini akurat - kualitas yang langka.
thomasrutter
8

Dari Pingdom: http://dnscheck.pingdom.com/

SOA TTL  recommended >= 3600.
SOA refresh  recommended >= 14400.
SOA retry  recommended >= 3600.
SOA expire  recommended >= 604800.
SOA minimum  recommended between 300 and 86400.
Okta
sumber