當我通過一個調制解調器/ ISP連接時,我以前在我的Ubuntu機器上的DNS查詢速度很慢。我遵循指示(如here)使用持久DNS緩存,所以我不重複DNS查找,並且所有內容都變得更快。不過,我注意到,當在mercurial上拉回推回購時,甚至轉移非常小的變化也是非常緩慢的。更深入地看,我發現所有的時間都是由_socket.getaddrinfo
,即DNS查找。爲什麼即使所有的Web瀏覽器都使用/etc/pdnsd.conf
中的信息來使用舊的dns查找,pythons套接字也不會。我怎樣才能讓mercurial使用緩存查找?持久性DNS緩存沒有被Python的socket.getaddrinfo/mercurial使用
更新
這也可能是因爲getaddrinfo試圖讓IPv4和IPv6地址,並未能找到IPv6地址後只返回了答案。我不知道如何檢查這個,也就是說,延遲是由於IPv6,非持久性還是兩者兼而有之。
更新
,這可能與IPv6請求作爲答案here建議,我會檢查,一旦我得到一個機會。
我認爲引用的電子郵件現在已轉移到https://mail.python.org/pipermail/python-list/2011-July/607822.html – jamesc