测试时间 2024/03/18 19:20开始

测试方式 腾讯云云服务器内网测试

服务端:

腾讯云 标准型SA5 SA5.LARGE8

计算:4核心 AMD EPYC Bergamo(3.1GHz)

内存:8GB DDR5 内存

网络:30万PPS收发包 25万连接数 4队列数 1.5/10Gbps内网标准/突发宽带

IO: 1.5万IOPS和1.5Gbps云硬盘性能

硬盘:20G 增强型云硬盘 基准:2800IOPS, 130MiB/s带宽 随机读写延迟0.2ms - 1ms

客户端:

腾讯云 标准型SA5 SA5.LARGE8

计算:4核心 AMD EPYC Bergamo(3.1GHz)

内存:8GB DDR5 内存

网络:30万PPS收发包 25万连接数 4队列数 1.5/10Gbps内网标准/突发宽带

IO: 1.5万IOPS和1.5Gbps云硬盘性能

硬盘:20G 增强型云硬盘 基准:2800IOPS, 130MiB/s带宽 随机读写延迟0.2ms - 1ms

客户端和服务端系统均为Linux Almalinux 9.2

测试方式:

服务端:采用指定测试软件。其中HighSpeaker分别测试CPU4进程和CPU8进程,且不启用二进制缓存,不启用攻击拦截,参照优化Linux内核-workerman手册设置内核优化。

客户端:采用开源软件https://github.com/DNS-OARC/dnsperf 版本为 2.14.0。为贴合真实情况,不启用内核优化

分别进行针对layso.de域名A记录的dns请求。

第一次(T1)采用1个模拟客户端,60秒:dnsperf -c 1 -l 60 -s <服务端IP>-d ./testfile

第二次(T2)采用8个模拟客户端,10秒,模拟突发情况:dnsperf -c 8 -l 10-s <服务端IP>-d ./testfile

第三次(T3)采用64个模拟客户端,60秒,模拟极端暴力情况下:dnsperf -c 64 -l 60 -s <服务端IP>-d ./testfile

对照软件:

测试结果

QPS:

HighSpeakerDNS x4 HighSpeakerDNSx8 PHP-DNS-SERVER AdGuardHomev0.107.45 CoreDNS Bind9.16.23 Xiaomi-SmartDNS wdDNS
编程语言 PHP PHP PHP GO GO C Python Python
T1 141460 137122 34396 133422 162566 162062 5251 35754
T1%(相比Bind9) 87% 84% 21% 82% 100% 100% 3.2% 22%
T2 139806 127924 30147 127546 152816 213624 5594 34616
T3 133794 129768 29931 128169 153263 224594 5504 34733
Average 138353 131604 94474 129712 156215 200093 5449 35034

总数/超时数/响应率/平均响应

HighSpeakerDNSx4 HighSpeakerDNSx8 PHP-DNS-SERVER AdGuardHomev0.107.45 CoreDNS Bind9.16.23 Xiaomi-SmartDNS wdDNS
编程语言 PHP PHP PHP GO GO C Python Python
T1 8487685/0/100%/0.68ms 8227403/0/100%/0.71ms 2063900/0/100%/2.89ms 8005416/0/100%/0.72ms 9754085/0/100%/0.59ms 9723823/0/100%/0.56ms 315202/0/100%/19ms 2145327/0/100%/2.7ms
T2 1398147/0/100%/0.69ms 1279318/0/100%/0.76ms 301559/0/100%/3.30ms 1275577/0/100%/0.76ms 1528250/0/100%/0.63ms 2136332/0/100%/0.42ms 56035/0/100%/17ms 346225/0/100%/2.8ms
T3 8027735/0/100%/0.70ms 7786199/0/100%/0.74ms 1795978/0/100%/3.31ms 7690269/0/100%/0.75ms 9195900/1/100%/0.62ms 13476012/200/99.99%/0.29ms 330359/0/100%/18ms 2084063/0/100%/2.8ms

结论:

HighSpeakerDNS在推荐配置下(4*CPU数),已经能够超越广泛使用的主流DNS软件AdGuardHome。基本在日常使用中能够代替目前性能最好、应用最广泛的Bind9。在正常情况下已经和顶级DNS软件没有显著区别。相比之前的纯PHPDNS服务器有显著进步。