[Dnsmasq-discuss] Dnsmasq on high load

Chen Wei weichen302 at icloud.com
Tue Mar 10 13:39:12 GMT 2015


On Tue, Mar 10, 2015 at 11:15:38AM +0200, Анатолий Мулярский wrote:
> I'm using dnsmasq as a caching DNS-server for 2000+ users.
> cache-size=9500
> dns-forward-max=4000
> 
> Periodically I got the message:
> dnsmasq[2272]: failed to send packet: Resource temporarily unavailable
> 
> Can someone suggest me how to optimize my configuration for high load
> and get rid of the above message?
> 

Sounds like the 10k problem.

My understanding is dnsmasq was designed to be small and portable. Its
select() loop works very well for most of us, but has limitation when
comes to high concurrency connections. FD_SETSIZE along has a upper
limit of 1024 on Linux.

Assuming most dnsmasq are running on Linux, I have contemplated a
simple wrap over select and epoll so dnsmasq can use the more efficient
epoll when available. But then should dnsmasq go multi-threading? and if
the features keeps piling up, could dnsmasq still small enough for
embedded devices?


-- 
Chen Wei



More information about the Dnsmasq-discuss mailing list