bind DNS解析性能测试及调优
DNS系统性能说明
什么是DNS的解析性能
今天我们聊聊DNS系统的解析性能,在详细介绍之前我们先要明确这个解析性能指的是什么?根据DNS系统解析的逻辑,我们从以下几个层面做切分:
- 本地配置权威区域名的解析性能,我们简称“权威解析性能”。
- DNS系统接到客户端的递归查询,然后DNS系统到互联网上迭代查询到相关结果,并将结果缓存到本地,然后应答给客户端,后续客户端再次请求此缓存中的域名的性能,我们简称“缓存解析性能”。
- DNS系统接到客户端的递归查询,然后DNS系统对外做迭代查询的并发性能,我们简称“递归解析性能”
可见DNS系统的解析性能还是有很多细节的,上面提到权威解析性能和缓存解析性能在bind系统层面相差不多,也是本文介绍的重点,即每秒能正常处理的域名解析数简称QPS。递归解析性能本文也会简单介绍。
影响解析性能的关键点是哪些
影响DNS解析性能的关键点如下:
| 影响性能关键点 | 描述 |
|---|---|
| CPU核数 | bind运行时是支持多线程的,可以利用多CPU来提升解析性能。在bind9.14版本之前编译的时候需要–enable-threads来显示开启多线程,而bind9.14版本及以后没有这个显示的参数,因为bind已经默认开启多线程,并开始使用REUSEPORT内核特性来实现更充分的多CPU核数的使用。所以CPU核数绝对是越多越好(当然多到一定阶段,瓶颈不在是CPU而是其他了~) |

本文探讨DNS系统解析性能,包括权威解析、缓存解析和递归解析性能。分析影响性能的关键因素,如CPU核数、主频、网卡类型、内核版本等。通过bind9.9与bind9.14版本的对比测试,展示REUSEPORT特性和多线程对性能的影响。
bind DNS解析性能测试及调优&spm=1001.2101.3001.5002&articleId=107074120&d=1&t=3&u=1bde9cbf228d4b1db4d247c19ec8caf9)
4507

被折叠的 条评论
为什么被折叠?



