firmware/src/packages/fff/fff-dhcp/files/etc/uci-defaults/90-fff-dhcp
Johannes Kimmel 87d923c1ef fff-dhcp: increase dns cachesize
The default cachesize for dnsmasq is 150 entries, which results in a
poor cache hit rate.

Raise the default to 1024 to provide better cache hit rates on all
devices while still keeping memory usage in check.

Further increase the cachesize to 8192 entries for systems with enough
ram (currently more than 64MB).

The memory usage will increase roughly 100B per entry.

The size was chosen empirically. Higher values don't seem to increase
cache hit rate a lot.

Signed-off-by: Johannes Kimmel <fff@bareminimum.eu>
Reviewed-by: Fabian Bläse <fabian@blaese.de>
2022-03-05 19:31:00 +01:00

37 lines
1.0 KiB
Plaintext

# Use a larger cachesize by default
cachesize=1024
# Increase cachesize for systems with enough memory
mem="$(awk '/^MemTotal:/ {print $2}' /proc/meminfo)"
[ "$mem" -gt 65536 ] && cachesize=8192
uci batch >/dev/null <<EOF
delete dhcp.@dnsmasq[0]
delete dhcp.lan
delete dhcp.wan
add dhcp dnsmasq
set dhcp.@dnsmasq[-1].domainneeded='0'
set dhcp.@dnsmasq[-1].boguspriv='0'
set dhcp.@dnsmasq[-1].filterwin2k='0'
set dhcp.@dnsmasq[-1].localise_queries='0'
set dhcp.@dnsmasq[-1].rebind_protection='0'
set dhcp.@dnsmasq[-1].rebind_localhost='1'
set dhcp.@dnsmasq[-1].domain='fff.community'
set dhcp.@dnsmasq[-1].expandhosts='0'
set dhcp.@dnsmasq[-1].nonegcache='0'
set dhcp.@dnsmasq[-1].cachesize="$cachesize"
set dhcp.@dnsmasq[-1].authoritative='1'
set dhcp.@dnsmasq[-1].readethers='1'
set dhcp.@dnsmasq[-1].leasefile='/tmp/dhcp.leases'
set dhcp.@dnsmasq[-1].noresolv='1'
set dhcp.@dnsmasq[-1].localservice='1'
set dhcp.client=dhcp
set dhcp.client.interface='client'
set dhcp.client.leasetime='1h'
EOF
uci commit dhcp
exit 0