测试时间 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服务器有显著进步。