В Thu, 12 Dec 2013 14:09:42 +0100
Marcel Holtmann <mar...@holtmann.org> пишет:

> Hi Lennart,
> 
> >> why do we have to spawn threads or do forks for DNS. This looks all
> >> pretty expensive. In ConnMan for example we just wrote our own async
> >> DNS using a mainloop. Works perfectly fine and is dirt cheap.
> > 
> > Well, we don't fork threads/processes for each call but reuse them.
> > 
> > What libasyncns does what your solution doesn't do is go via NSS. This
> > means /etc/hosts, nss-myhostname, nss-ldap, nss-mdns and so on just
> > work, while that all is lost when doing DNS natively.
> > 
> > I am pretty sure we should not bypass NSS for this. 
> 
> actually NSS for DNS is pretty nasty stuff. I am pretty sure we should bypass 
> it and create a proper implementation. Is anybody actually using NIS or LDAP 
> for domain name resolution?
> 

Yes, there are solutions that are using LDAP for hostname resolution
quite heavily - actually are based around LDAP without any
local /etc/hosts.

> The problem with NSS is that it still does not fix the fundamental problem. 
> It is sequential and blocking. You can spawn as many threads as you want and 
> it will stay sequential.
> 
> I fully agree with you that we need to consider /etc/hosts, the local 
> hostname and also mDNS, but I get the feeling it would be more beneficial to 
> just build that in. ConnMan ships a DNS proxy cache to actually be able to be 
> smart and parallel. We did not bother with the details like /etc/hosts so far 
> since our use cases always had an empty /etc/hosts with just localhost only 
> anyway. However that is easy to fix.
> 
> Spawning threads or forking is expensive (even if you reuse it) comparing to 
> what you actually do here. You just want to resolve a host. It is especially 
> expensive since you can not control on what is actually used. And there are 
> clearly use cases where you have to ask a specific nameserver or set of 
> nameservers.
> 
> Regards
> 
> Marcel
> 
> _______________________________________________
> systemd-devel mailing list
> systemd-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/systemd-devel

_______________________________________________
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to