非常慢的DNS我认为

寻求我的新的VPS的build议,我已经build立在朋友的帮助下。 一切似乎都运行良好,页面加载后页面加载速度很快,即使是简单的基于文本的网站,首页加载也需要十秒钟。

我认为这是一个基于DNS的问题,(或者它可能与Apache有关?),因为IP正在解决,任何人都可以解释,如果我是正确的,如何改善?

域名:bradfordians.co.uk,castlegardenspreschool.com&pezcuckow.com

非常感谢您的build议!


任何人都可以确认他们是否正在经历我描述的慢下来?


w的输出:

17:24:40 up 6:22, 2 users, load average: 0.64, 0.39, 0.45 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0 130.88.177.204 16:44 38:00 0.02s 0.02s -bash root pts/1 130.88.177.204 17:24 0.00s 0.01s 0.00sw 

免费输出:

  total used free shared buffers cached Mem: 2048 320 1727 0 0 0 -/+ buffers/cache: 320 1727 Swap: 0 0 0 

顶端的开始:

 top - 17:26:46 up 6:25, 2 users, load average: 0.21, 0.29, 0.41 Tasks: 81 total, 1 running, 80 sleeping, 0 stopped, 0 zombie Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 2097152k total, 328552k used, 1768600k free, 0k buffers Swap: 0k total, 0k used, 0k free, 0k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1 root 18 0 2156 668 572 S 0.0 0.0 0:00.23 init 1350 mysql 15 0 125m 15m 4248 S 0.0 0.8 0:05.74 mysqld 1702 root 18 0 10008 2836 2292 S 0.0 0.1 0:00.02 sshd 1710 root 15 0 3844 1540 1248 S 0.0 0.1 0:00.02 bash 3580 root 18 0 3244 436 328 S 0.0 0.0 0:00.05 da-popb4smtp 3589 nobody 19 0 9136 1352 944 S 0.0 0.1 0:00.21 directadmin 

服务器在合理的负载下,

 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1350 mysql 15 0 126m 15m 4252 S 25.1 0.8 0:14.37 mysqld 31859 apache 15 0 50436 41m 1988 S 0.3 2.0 0:00.85 httpd 32146 apache 15 0 50464 41m 1972 S 0.3 2.0 0:00.75 httpd 1 root 18 0 2156 668 572 S 0.0 0.0 0:00.23 init 1702 root 18 0 10008 2836 2292 S 0.0 0.1 0:00.02 sshd 

我得到非常奇怪的负载影响testing结果,这可能是相关的?

http://loadimpact.com/view-test.php?testlogid=420600

我不认为这是一个DNS问题… DNS解决对我来说是非常快的。

 ikbenbart$ dig castlegardenspreschool.com ; <<>> DiG 9.6.0-APPLE-P2 <<>> castlegardenspreschool.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 44600 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;castlegardenspreschool.com. IN A ;; ANSWER SECTION: castlegardenspreschool.com. 14390 IN A 78.129.132.155 ;; Query time: 7 msec ;; SERVER: 192.168.220.51#53(192.168.220.51) ;; WHEN: Mon Mar 28 17:53:06 2011 ;; MSG SIZE rcvd: 60 

有一件事让我留意到了这个潜伏期:

 ikbenbart$ ping 78.129.132.155 PING 78.129.132.155 (78.129.132.155): 56 data bytes 64 bytes from 78.129.132.155: icmp_seq=0 ttl=54 time=23.482 ms 64 bytes from 78.129.132.155: icmp_seq=1 ttl=54 time=21.030 ms 64 bytes from 78.129.132.155: icmp_seq=2 ttl=54 time=24.165 ms 64 bytes from 78.129.132.155: icmp_seq=3 ttl=54 time=22.786 ms 64 bytes from 78.129.132.155: icmp_seq=4 ttl=54 time=19.822 ms 64 bytes from 78.129.132.155: icmp_seq=5 ttl=54 time=21.464 ms 64 bytes from 78.129.132.155: icmp_seq=6 ttl=54 time=354.739 ms 64 bytes from 78.129.132.155: icmp_seq=7 ttl=54 time=21.032 ms 64 bytes from 78.129.132.155: icmp_seq=8 ttl=54 time=21.691 ms 64 bytes from 78.129.132.155: icmp_seq=9 ttl=54 time=20.745 ms 64 bytes from 78.129.132.155: icmp_seq=10 ttl=54 time=346.652 ms 64 bytes from 78.129.132.155: icmp_seq=11 ttl=54 time=21.422 ms 64 bytes from 78.129.132.155: icmp_seq=12 ttl=54 time=291.492 ms 64 bytes from 78.129.132.155: icmp_seq=13 ttl=54 time=622.309 ms 64 bytes from 78.129.132.155: icmp_seq=14 ttl=54 time=339.109 ms 64 bytes from 78.129.132.155: icmp_seq=15 ttl=54 time=567.751 ms 64 bytes from 78.129.132.155: icmp_seq=16 ttl=54 time=170.745 ms 64 bytes from 78.129.132.155: icmp_seq=17 ttl=54 time=465.188 ms 

那里有很多高峰…服务器上的负载如何? 尝试运行命令wfree -m ,看看你得到什么。

您可以将nameserver 8.8.8.8添加到/etc/resolv.conf的顶部以查看是否是DNS问题。

我注意到一些事情,你可以检查:

  • Firefox的Firebug扩展在诊断页面速度/加载问题(如“networking”选项卡)上非常有用。 YSlow是一个相关的扩展,可以build议的东西来提高性能(请注意,不是所有的build议可能是有效的为您的网站)。
  • 在我的几个testing页面加载中,我从来没有看到任何与DNS的问题。
  • 你的许多图像非常大。 考虑尝试优化它们或者改变格式以获得一些潜在的重大收益(例如:PNG到JPG)。
  • 考虑缩小一些JavaScript文件。
  • 考虑至less暂时禁用mod_deflate进行testing。 在具有显着负载的CPU速度较慢的服务器上,我发现通过不压缩页面可以显着提高性能。 YMMV,但没有尝试的危害。
  • 您的幼儿园网站上有一些404错误。
  • 学龄前网站有最重要的性能问题,这可能是由于需要加载的文件数量(35)。 这些文件中的每一个在加载时都占用一个Apache客户端。 如果您的Apache MaxClients只有50个,那么同时加载您的页面的几个人可能会导致50很快被击中,导致连接超过该延迟或超时。 请注意,拥有35个文件/页面本身并不差,但是您必须了解如何影响您网站的性能和页面加载。
  • 确保你的Apache MaxClients足够高,以服务于并发用户的数量,但不足以用尽所有的RAM(尤其是因为你也在运行MySQL)。
  • 另一种减lessApache负载但增加可以提供的文件的方法是使用更高性能的Web服务器(如lighttpd / nginx)来处理所有的静态内容(JavaScript,CSS,图像),并让Apache只服务于重量级的PHP页面。
  • 使用mod_expires可能有助于减less内容的重新加载。
  • 确保你正在使用某种types的PHP操作码caching(APC,eAccelerator)。
  • 您可以在服务器上使用ab(ApacheBench)来testing您的网站性能。 我现在用它来获得一个基线,然后在每次提高性能的尝试后,看看结果是什么。 testing各种文件types(PHP,HTML,CSS,图像等)。 基准testing还可以指出您的网站瓶颈(CPU,RAM,IO等)的方向。

我将首先查看Apache状态模块的输出,并查看问题确实与最大化可用客户端的数量有关。 如果有很多客户可用,但网站仍然很慢,可能还有其他更微妙的问题。