长页面加载 – DNS查询问题?

我注意到我的Web服务器最近需要很长时间来加载页面。 使用Firebug,我意识到DNS查找需要大约4秒的时间:

Connecting: 304ms Sending: 0ms Waiting: 3.45s Receiving: 0ms 

我认为这是等待HTTP响应的很长一段时间。 在命令行中,我发起了:

 telnet localhost 80 GET / HTTP/1.1 Host: {IP Address} 

等到下一个三个命令返回之后再input两次。 我使用的第一个命令是找出端口号:

 lsof -p `pidof telnet` 

然后,找出过程:

 netstat -nap | grep {port} 

最后:

 strace -o /tmp/output -f -r -s4096 -p {PID} 

然后我在telnet命令上按回车键来返回请求,以便它login到输出文件中。 当telnet最终返回时,我查看了输出文件,并search了最长的进程,它们是:

 6152 12.143817 read(17, "GET / HTTP/1.1\r\n", 8000) = 16 6152 0.000178 gettimeofday({1330023713, 143410}, NULL) = 0 6152 0.000169 poll([{fd=17, events=POLLIN}], 1, 60000) = 1 ([{fd=17, revents=POLLIN}]) 6152 13.550608 read(17, "Host: 164.177.156.189\r\n", 8000) = 23 

有人知道为什么这两个过程花了这么长时间? 这是一个DNS查询问题? 我该怎么做来解决这个问题?

input“GET / HTTP / 1.1 \ r \ n”12秒钟,input“Host:164.177.156.189 \ r \ n”13秒。 所以服务器花了很长时间阅读它们。