Adakah yang tahu batas ukuran teoritis dari / etc / hosts pada sistem Linux sebelum Anda mulai melihat penurunan kinerja?
Selain itu, adakah yang bisa mengarahkan saya ke sumber resmi yang menyatakan batas yang diharapkan?
Adakah yang tahu batas ukuran teoritis dari / etc / hosts pada sistem Linux sebelum Anda mulai melihat penurunan kinerja?
Selain itu, adakah yang bisa mengarahkan saya ke sumber resmi yang menyatakan batas yang diharapkan?
Jawaban:
Gunakan sumbernya , Mike.
Penyelesai menggunakan pencarian linear melalui file teks untuk menemukan entri. Ini adalah database tanpa indeks. Jadi, dengan tidak adanya kemampuan caching tambahan, biaya untuk pencarian akan menjadi O (n). Mengenai kapan hal itu akan mengakibatkan penurunan kinerja, itu pertanyaan mustahil untuk dijawab - semakin lambat setiap catatan.
Jika Anda berbicara dengan programmer database atau admin Anda akan mendapatkan angka yang berbeda untuk titik di mana pencarian indeks (O (log2 (n)) lebih murah daripada pemindaian tabel penuh, tetapi umumnya jawabannya akan berada di wilayah 20 hingga 100 catatan.
Sistem linux apa pun yang perlu menyelesaikan banyak nama (bukan hanya nama host). Harus menjalankan nscd atau serupa. Kebanyakan cache seperti itu akan mengindeks data sendiri yang akan membatalkan pertanyaan kinerja, namun ...
Ini tidak menyediakan sarana untuk mengelola kumpulan data yang besar / kompleks - jika Anda memiliki host dengan lebih dari satu alamat IP, pencarian melalui file host akan selalu mengembalikan entri pertama.
Sedikit sejarah Internet - sebelum DNS digunakan pada tahun 1984, file host adalah satu-satunya untuk menyelesaikan nama, dan tidak ada banyak host di jaringan - 325 pada Februari 1983 (RFC 847) . Ada salinan HOSTS.TXT (tidak dapat dibaca mesin, dari tahun 1982) di arsip maillist sejarah internet . Bahkan ada HOSTS alternatif. TXT (Geoff Goodfellow's) .
Secara teknis, tidak ada batas atas. Namun, setiap pencarian DNS akan mengenai file ini, jadi mengapa membiarkan diri Anda terbuka untuk itu?
Untuk apa nilainya, /etc/hosts
file terbesar yang saya distribusikan di lingkungan saya adalah 1.200 baris. Dan itu bekerja dengan baik untuk aplikasi yang saya kelola. DNS bukan opsi di lingkungan tertentu itu.