|
本帖最后由 bca3218 于 2017-8-9 09:25 编辑
原帖 http://v2ex.com/t/172010
大家有没有发现dnsmasq配置文件里的ipset,address,server条目一多,路由器CPU使用率就上去了。往路由器/etc/dnsmasq.d/目录下放一个含几百上千条server的配置文件,试试就知道了。
这里介绍的是针对这个问题的改进版。原版dnsmasq处理这几个配置项的方法是遍历链表,一个dns查询可能要多次遍历一个几千上万项的链表,自然需要匹配的域名越多越慢。这个部分现在改成查询hash表,效果很明显:
在一个32M内存/500MHzCPU路由器上用dnsblast作压力测试,原版dnsmasq每秒接受90-100个dns请求时CPU使用率就飙升到近100%, 而改进版这时CPU使用率在20%上下。我估计如果配置文件再大些,可能每秒几十个甚至十几个dns查询就能让原版dnsmasq爆表。
下载在https://github.com/infinet/dnsmasq ,有适用于OpenWrt 12.09和14.07的预编译包。下载后复制到路由器/tmp目录,先opkg remove dnsmasq删除原来的dnsmasq,然后opkg install /tmp/xxxx.ipk,安装前最好备份一下/etc/dnsmasq.conf和/etc/config/dhcp。
|
简单编译下载
opkg install --force-depends 在安装、删除软件包时无视失败的依赖
opkg install --force-downgrade 允许 opkg 降级软件包
lede 17.01.2 SDK_x86_64上面编译。不能上传ipk文件了,只能打包放上来,包括
dnsmasq-full_2.77test4-fastlookup20170409-1_x86_64.ipk
dnsmasq-full_2.72-5-137dcbc95d9240e492c913f2217795b028be805e--fastlookup_x86_64.ipk
dns2socks_1.8-20150628_x86_64.ipk
n2n_v2_9344-4_x86_64.ipk
2.77test4装在lede 17.01.2上面稳定运行
那些用koolshare LEDE 说dnsmasq不稳定的可以试试 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|