网站上的ubuntu突然运行缓慢

时间:2013-08-06 08:59:46

标签: mysql apache dns

我管理的网站今天突然开始慢慢运行。我试图找出瓶颈所在。我创建了一个14kb的文本文件,这需要5秒才能在浏览器中打开!我确信问题不在于我的网络连接 - 例如,我可以看到youtube就好了。

如果我访问局域网上的14kb文件,则该页面需要6ms才能打开。这让我觉得问题不是apache。

但是,该网站也使用了mysql,当我打开一个在表格中显示数据的页面时,它需要很长时间 - 比如10分钟或更长时间。在局域网上,这将立即打开。当页面通过互联网加载时我检查完整的进程列表,并且有一些查询需要很长时间:

mysql> show full processlist;
+------+------+-----------+------+---------+------+-------+-----------------------+
| Id   | User | Host      | db   | Command | Time | State | Info                  |
+------+------+-----------+------+---------+------+-------+-----------------------+
| xxxx | root | localhost | fms  | Sleep   |  307 |       | NULL                  | 
| yyyy | root | localhost | NULL | Query   |    0 | NULL  | show full processlist | 
+------+------+-----------+------+---------+------+-------+-----------------------+
2 rows in set (0.00 sec)

任何人都可以帮我诊断这个问题吗?我对运行Web服务器的ubuntu机器有完全的root访问权限。该网站由apache和php生成。

更多信息

从那以后我就回家了,又回来工作了。奇怪的是,该网站在我家工作正常!所以这是现状:

  • 在家:工作正常
  • 在lan2上工作(与服务器不同的局域网):速度很慢
  • 在lan1上工作(与服务器相同的局域网):工作正常

问题可能出在工作lan2上的dns上。也许isp正在缓存或过滤请求?

跟踪traceroute导致...

  • 在工作lan1上当然只有一跳
  • 在工作lan2上,使用icmp echos(ping)的traceroute在60跳中没有完成(条目9到60都是* * *),但使用tcp syn包的traceroute在12跳中完成
  • 来自我家的traceroute也没有使用icmp echos,但是使用tcp syn包在9跳中完成了。

似乎问题完全局限于lan2 - 它向我表明存在一些配置问题(例如,仅针对此网站缓存的错误dns条目,或者可能是某些路由已被捕获在循环中)或者某些硬件已经死亡。有关调试此问题的所有建议都是受欢迎的。

来自wireshark的更多信息

我注意到这些页面的连接速度相对较快,但需要很长时间才能完成加载。我也在打开页面时运行wireshark并发现了很多(数百个)以下数据包:

source           dest              protocol  info
website          work pc on lan2   TCP       [TCP Retransmission] [TCP segment of a reassembled PDU]
work pc on lan2  website           TCP       62783 > https [ACK] Seq=667 Ack=26435 Win=260 Len=0
website          work pc on lan2   TCP       [TCP Previous segment not captured] [TCP segment of a reassembled PDU]
work pc on lan2  website           TCP       [TCP Dup ACK 192#1] 62783 > https [ACK] Seq=667 Ack=26435 Win=260 Len=0 SLE=xxxxx SRE=xxxxx
website          work pc on lan2   TCP       [TCP segment of a reassembled PDU]

我想知道问题是否与在lan2上缓存的ssl证书有关?现在我真正抓住了吸管...我将从wirehark信息中获取一些条款,这可能会导致某些问题。

2 个答案:

答案 0 :(得分:1)

你试过重启吗?在过去,它有助于偶尔清理记忆。

使pache变慢的另一件事是hostnamelookup,也许dns chaching服务器有问题。

一如既往地查看日志文件。 perhabs那里有一个循环(dns或302 .htaccess)

答案 1 :(得分:0)

我发现一台Windows PC在工作时插入了两个lans。用户主要访问问题中讨论的网站,所以我从lan2上拔下这台电脑,这样它就可以直接与lan1上的网站进行通信。一旦我这样做了,在lan2上工作的所有其他电脑开始在网站上运行良好 - 连接和加载现在恢复到通常的快速速度。我的猜测是,这台电脑正在路由一半的网站数据包而其余部分通过互联网,也许它们没有被重新组装回浏览器。

我不确定是否是这种情况,但我确信当我从lan2断开此电脑时问题已解决。

显然,根据我发布的信息,没有办法猜测答案,但感谢所有提出建议的人。