[erlang-questions] DNS is slow when run from many processes
Ivan Ostres
iostres@REDACTED
Tue Feb 8 09:51:48 CET 2011
On 8/2/11 12:50 AM, ori brost wrote:
> After checking the states of processes I see that many of them spend
> time in:
> 3> i(0,200,0).
> [{current_function,{inet_gethost_native,getit,2}},
>
>
> What are my possibilities for better DNS? I now that I can use erlang
> dns instead of native dns, this solves the problem for 127.0.0.1, but
> when I try a real address (i.e. run(50000,"some.server.of.mine.com"))
> connections are very slow with both native and erlang DNS.
>
> Any advice on a solution?
You are doing DNS lookup for every port connect even though destination
host does not change for whole PortCount. Did you consider doing DNS
lookup before entering loop and cache the result? This would get you
O(1) time for hostname lookup instead of O(n).
BR,
Ivan Ostres
More information about the erlang-questions
mailing list