มีใครบ้างที่รู้ว่าขนาด จำกัด ทางทฤษฎีของ / etc / hosts อยู่บนระบบ Linux ก่อนที่คุณจะเริ่มเห็นถึงประสิทธิภาพที่ลดลง
นอกจากนี้ทุกคนสามารถชี้ให้ฉันไปยังแหล่งที่มาอย่างเป็นทางการที่ระบุว่าขีด จำกัด ที่คาดหวังคืออะไร
มีใครบ้างที่รู้ว่าขนาด จำกัด ทางทฤษฎีของ / etc / hosts อยู่บนระบบ Linux ก่อนที่คุณจะเริ่มเห็นถึงประสิทธิภาพที่ลดลง
นอกจากนี้ทุกคนสามารถชี้ให้ฉันไปยังแหล่งที่มาอย่างเป็นทางการที่ระบุว่าขีด จำกัด ที่คาดหวังคืออะไร
คำตอบ:
ใช้แหล่งที่มาไมค์
ตัวแก้ไขใช้การค้นหาเชิงเส้นผ่านไฟล์ข้อความเพื่อค้นหารายการ มันเป็นฐานข้อมูลที่ไม่มีดัชนี ดังนั้นในกรณีที่ไม่มีความสามารถแคชเพิ่มเติมค่าใช้จ่ายสำหรับการค้นหาจะเป็น O (n) เมื่อไรที่จะส่งผลให้ประสิทธิภาพลดลงนั่นเป็นคำถามที่เป็นไปไม่ได้ที่จะตอบ - มันช้าลงในทุก ๆ บันทึก
หากคุณพูดคุยกับโปรแกรมเมอร์ฐานข้อมูลหรือผู้ดูแลระบบคุณจะได้รับตัวเลขที่แตกต่างกันสำหรับจุดที่การค้นหาดัชนี (O (log2 (n)) ราคาถูกกว่าการสแกนเต็มตาราง แต่โดยทั่วไปคำตอบจะอยู่ในพื้นที่ 20 ถึง 100 รายการ
ระบบ linux ใด ๆ ที่ต้องการแก้ไขชื่อจำนวนมาก (ไม่ใช่แค่ชื่อโฮสต์) ควรใช้ nscd หรือคล้ายกัน แคชส่วนใหญ่จะทำดัชนีข้อมูลด้วยตนเองซึ่งจะทำให้คำถามประสิทธิภาพเป็นโมฆะอย่างไรก็ตาม ...
มันไม่มีวิธีการจัดการชุดข้อมูลที่ซับซ้อน / ขนาดใหญ่ - ถ้าคุณมีโฮสต์ที่มีที่อยู่ IP มากกว่าหนึ่งรายการการค้นหาผ่านไฟล์โฮสต์จะส่งคืนรายการแรกเสมอ
บิตของประวัติอินเทอร์เน็ต - ก่อนที่ DNS ถูกนำไปใช้ในปี 1984 ไฟล์โฮสต์เป็นเพียงคนเดียวที่จะแก้ไขชื่อและมีไม่มากของเจ้าภาพในเครือข่าย - 325 ในกุมภาพันธ์ 1983 (RFC 847) มีสำเนาของ HOSTS.TXT (ไม่สามารถอ่านได้ด้วยเครื่อง) ตั้งแต่ปี 2525 ในที่เก็บข้อมูลของนักประวัติศาสตร์ไมลลิสต์ มีแม้กระทั่ง hosts.txt สำรอง(เจฟฟ์ Goodfellow ของ)
ในทางเทคนิคไม่มีขอบเขตบน อย่างไรก็ตามการค้นหา DNS ทุกครั้งจะตีไฟล์นี้ดังนั้นทำไมจึงเปิดตัวเองให้เป็นเช่นนั้น
สำหรับสิ่งที่คุ้มค่า/etc/hosts
ไฟล์ที่ใหญ่ที่สุดที่ฉันแจกจ่ายในสภาพแวดล้อมของฉันคือ 1,200 บรรทัด และนั่นทำงานได้ดีสำหรับแอปพลิเคชันที่ฉันจัดการอยู่ DNS ไม่ใช่ตัวเลือกในสภาพแวดล้อมนั้น