Domain-Name-System
提高bind9服務重啟的性能
我正在為大量域(50,000 - 100,000 個域)設置託管 DNS 的名稱伺服器。
我將使用 Bind9,並且該服務需要每天重新啟動幾次。
我進行了一些測試,似乎 Bind9 服務的重新啟動與域數量的關係很差。
#domains | restart time ----------------------- 10,000 | 3.1 sec 25,000 | 8.9 sec 50,000 | 50 sec 100,000 | 7:50 min
有什麼方法可以加快服務的重啟速度嗎?我注意到重啟只使用一個核心,有沒有辦法讓它使用更多的核心?
Bind9 版本為 9.7.1-P2,預設配置。
執行 Bind9 的伺服器是 Intel Core 2 Due 2.93 GHz,具有 4 GB 記憶體和 Ubuntu Server 10.10。
任何幫助將不勝感激。
那是很多域:)
好的 - 您遇到的 BIND 及其平面文件配置方法存在固有問題;它沒有規模。我認為您在 7 分鐘內啟動它實際上做得很好,我聽說相同數量的域需要超過 30 分鐘。
推薦的解決方案是為域配置遷移到數據庫支持的解決方案。在整體性能方面,每秒最大查詢數會稍微慢一些(可能會降低 15%),但它應該會大大提高啟動性能。
自從我用 BIND 做這件事已經有一段時間了,但是有一些更新檔可以讓它使用 DNS。也許有完整的軟體包可用,我不知道。我記得它的一個問題是它為每個 Bad(tm) 域建立了一個新的 MySQL 連接。
我實際上建議的是嘗試針對此類事情進行優化的替代 DNS 伺服器。我選擇了 PowerDNS 作為以前的解決方案。它速度很快,其設計架構已針對數十萬到數百萬個域進行規劃,當然還有數據庫支持。
如果做不到這一點,我想您可以嘗試將配置文件放在 tmpfs 或其他東西上以將其保存在記憶體中,但我認為這不會大大提高性能,因為您並沒有真正受到 I/O 限制,更多的是 CPU 限制.