curl dns緩存設置

CURLOPT_DNS_USE_GLOBAL_CACHE 啓用時會啓用一個全局的DNS緩存,此項爲線程安全的,而且默認啓用。
CURLOPT_DNS_CACHE_TIMEOUT 設置在內存中保存DNS信息的時間,默認爲120秒。緩存

1)fopen/file_get_contents 每次請求遠程URL中的數據都會從新作DNS查詢,並不對DNS信息進行緩存。可是CURL會自動對DNS信息進行緩存。對同一域名下的網頁或者圖片的請求只須要一次DNS 查詢。這大大減小了DNS查詢的次數。因此CURL的性能比fopen/file_get_contents 好不少。
2)fopen/file_get_contents在請求HTTP時,使用的是http_fopen_wrapper,不會keeplive。而curl卻能夠。這樣在屢次請求多個連接時,curl效率會好一些。(設置header頭應該能夠)安全

 

 

SO,如內部有需求不斷請求內網dns server,儘可能加上,用curlapp

或者用DNSMasqcurl

相關文章
相關標籤/搜索