作为Internet基础服务之一,DNS(Domain Name Server)服务对于整个Internet的正常运转具有极其重要的作用,DNS服务是否稳定和高效将直接影响用户使用网络的效率。BIND(Berkeley Internet Name Domain)是目前使用最广泛的域名服务器软件,在该领域处于统治地位。为了提升BIND的性能,一个重要的方法就是针对BIND及其所依赖的操作系统和程序库等软件做相应的优化和配置。
在红旗Linux DC Server5.0上,对DNS有许多有效的优化方法。下面将只简单的介绍其中4种对DNS性能有较大幅度提升的方法。并以QPS(query per second)作为评估DNS服务性能的标准。来量化性能提高的幅度。
方法一:改变编译选项;BIND默认的编译选项中有个选项为“--O2”,该为“--O3”后,性能的提升幅度如下表1。
[align=center]表1:测试结果对比表[/align][align=center][table=251][tr][td=1,1,88][align=center]编译参数[/align][/td][td=1,1,84][align=center]O2[/align][/td][td=1,1,78][align=center]O3[/align][/td][/tr][tr][td=1,1,88][align=center]QPS[/align][/td][td=1,1,84][align=center]6648[/align][/td][td=1,1,78][align=center]7113[/align][/td][/tr][tr][td=1,1,88][align=center]性能提升[/align][/td][td=1,1,84][/td][td=1,1,78][align=center]4%[/align][/td][/tr][/table][/align]
sonwfly 于 2006-11-20 10:05:26发表:
方法四:调整DNS服务线程数;目前使用的BIND版本基本上都支持多线程(启动named后,用命令ps -eLF | grep named查看),但是默认的线程数并不一定是最好的。因此调整服务的线程个数来使当前硬件达到最大性能是很有必要的。
修改方法在 /etc/rc.d/init.d/named 服务启动文件中中前面加入OPTIONS=“-n NUM”一行,NUM为指定进程数。然后启动服务用上述命令查看是否是设定的线程数,然后通过BIND自带的测试工具queryperf(在BIND源码包的bind-VERSION/contrib/queryperf/目录下)来测试自己DNS服务器的最大QPS。
不同的硬件的测试结果也不一样。一般提高的幅度还都比较大。因此用户需要耐心测试DNS服务的线程数。
sonwfly 于 2006-11-20 10:05:03发表:
方法三:ICC核心;如上方法二中说明了Intel ICC与红旗的关系。因此红旗Linux DC Server5.0也是目前市场上所有Linux发行版中唯一一个带有ICC核心的。完全安装DC Server5.0后,gurb选项中就有icc核心的引导项。
经过测试使用ICC核心运行DNS服务,性能也有少量的提升。如下表3。
[align=center]表3:ICC核心测试结果表[/align][align=center][table=448][tr][td=1,1,94][align=center]编译参数[/align][/td][td=1,1,170]Kernel-2.6.9-11.19AX
[/td][td=1,1,184]Kernel-2.6.9-11.19AX_Icc
[/td][/tr][tr][td=1,1,94][align=center]QPS[/align][/td][td=1,1,170]6648
[/td][td=1,1,184]6781
[/td][/tr][tr][td=1,1,94][align=center]性能提升[/align][/td][td=1,1,170][align=center] [/align][/td][td=1,1,184]2%
[/td][/tr][/table][/align]
sonwfly 于 2006-11-20 10:04:30发表:
方法二:ICC编译器;由于Intel公司和红旗公司在ICC编译器项目上有很好的合作关系,据我们的测试,对于应用软件的编译,使用ICC编译器相对于GCC编译器有程度不等的提升。最乐观的情况下会有20%以上的性能提升。下表2为是用ICC编译器编译BIND的测试结果,编译器版本:Intel ICC-9.0。用户如果认为自己做麻烦的话,可以向红旗技术支持索要编译好的二进制包。
[align=center]表2:ICC编译结果对比表[/align][align=center][table=319][tr][td=1,1,86][align=center]编译器[/align][/td][td=1,1,120][align=center]GCC-3.4.3[/align][/td][td=1,1,112][align=center]ICC-9.0[/align][/td][/tr][tr][td=1,1,86][align=center]QPS[/align][/td][td=1,1,120][align=center]6648[/align][/td][td=1,1,112][align=center]7758[/align][/td][/tr][tr][td=1,1,86][align=center]性能提升[/align][/td][td=1,1,120][align=center] [/align][/td][td=1,1,112][align=center]16.7%[/align][/td][/tr][/table][/align]