現在的位置: 首頁 > 演算法 > 正文

linux的dns緩存怎麼解析?Dns緩存到底能提升多少性能

2020年05月25日 演算法 ⁄ 共 1116字 ⁄ 字型大小 評論關閉

  做壓力測試的時候發現,用webbench壓域名要比壓ip地址慢好幾倍,而且壓域名的時候nginx並發量也很低。下面學步園小編來講解下linux的dns緩存怎麼解析?Dns緩存到底能提升多少性能?

  linux的dns緩存怎麼解析

  echo"211。157。145。103m。app518。com">>/etc/hosts之後再壓,速度果然正常了。

  dns解析為什麼會慢呢?linux的dns緩存有什麼不同呢?上網查了一下發現linux本身是沒有dns緩存的,想使用dns緩存的話需要自己安裝一個服務程序NSCD(nameservicecachedaemon)。

  apt-getinstallnscd

  修改配置文件/etc/nscd。conf,開啟dns緩存,修改這一行enable-cachehostsyes

  這個服務除了dns緩存之外還可以緩存passwd,group,servers。這幾個東西的緩存暫時用不到。

  重啟nscd服務servicenscdrestart之後發現不需要做手動解析,訪問速度回升到用ip地址一樣了。

  dns緩存在伺服器上的作用

  在需要通過域名與外界進行數據交互的時候,dns緩存就派上用場了,它可以減少域名解析的時間,提高效率。例如以下情況:

  使用爬蟲採集網路上的頁面數據,

  使用auth2。0協議從其他平台(如微博或QQ)獲取用戶數據,

  使用第三方支付介面,

  使用簡訊通道下發簡訊等。

  dns緩存到底能提升多少性能呢

  首先要看網路和dns伺服器的能力,dns解析越慢,dns緩存的優勢就越大。比如我們在北京用的dns伺服器202。106。0。20和google的dns伺服器8。8。8。8速度會差不少。

  如果dns伺服器比較穩定,那它對效率的影響就是一個常數。這個常數有多大呢?

  簡單試了一下。在區域網內進行壓力測試,壓一個nginx下的靜態頁面,使用202。106。0。20這個dns伺服器,不用dns緩存。平均一分鐘可以訪問27萬次。壓一個簡單的php頁面,平均一分鐘可以訪問22萬次。加上nscd服務後,靜態頁面平均一分鐘可以訪問120萬次,要快4倍多。php頁面平均一分鐘可以訪問50萬次,快一倍多。

  如果是做搜索引擎或是一些代理服務類的項目,比如簡訊通道,數據推送服務,這個性能提升還是比較可觀的。但在一般的項目中,一台伺服器每分鐘發22萬次請求的情況是很少見的,所以這個性能提升也微呼其微。

  以上就是關於「linux的dns緩存怎麼解析?Dns緩存到底能提升多少性能」的內容,希望對大家有用。更多資訊請關注學步園。學步園,您學習IT技術的優質平台!

抱歉!評論已關閉.