ทำไมการแก้ไขชื่อโฮสต์ของฉันใช้เวลานานมาก
หลายเดือนที่ผ่านมาฉันสังเกตเห็นว่าโปรแกรมแก้ไขข้อความ (emacs) และ IDE (IntelliJ) ของฉันใช้เวลานานมากในการเริ่มต้น เวลาดูเหมือนจะแตกต่างกันไปตามเซิร์ฟเวอร์ DNS ที่ OS X ใช้อยู่ ฉันสามารถแยกปัญหาเมื่อชุดทดสอบของโครงการทำงานช้า ฉันพบผู้ร้าย (ระดับสูงกว่า) ที่จะเรียกหา socket.getfqdn(). การรันคำสั่งต่อไปนี้ในเทอร์มินัลใน OS X 10.10.2 แสดงให้เห็นถึงปัญหา: $ time python -c 'import socket; socket.getfqdn()' python -c 'import socket; socket.getfqdn()' 0.02s user 0.00s system 0% cpu 5.122 total ฉันติดตามรหัสที่ทำงานเมื่อ socket.getfqdn() ถูกเรียกและความล่าช้าเกิดจาก getaddrinfo(3). ฉันเขียนโปรแกรมขนาดเล็กที่แยกปัญหาและ gai_strerror(3) ให้ข้อความนี้: $ …