|
dns.lookup 和绝大多数程序一样使用了相同的系统特性。例如,dns.lookup 和 ping 命令用相同的方法解析了一个指定的名字。多数类似 POSIX 的系统,dns.lookup 函数可以通过改变nsswitch.conf(5) 和/或 resolv.conf(5) 的设置调整。如果改变这些文件将会影响系统里的其他应用。 虽然,JavaScript 调用是异步的,它的实现是同步的调用 libuv 线程池里的getaddrinfo(3) 。因为 libuv 线程池固定大小,所以如果调用 getaddrinfo(3) 的时间太长,会使的池里的其他操作(比如文件操作)性能降低。为了降低这个风险,可以通过增加 'UV_THREADPOOL_SIZE' 的值,让它超过4,来调整libuv线程池大小,更多信息参见[the official libuvdocumentation](http://docs.libuv.org/en/latest/threadpool.html)。
|