0

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

如果我访问局域网上的 14kb 文件,则该页面需要 6 毫秒才能打开。这让我认为问题不在于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)

谁能帮我诊断这个问题?我对运行网络服务器的 ubuntu 机器具有完全的 root 访问权限。该网站是从 apache 和 php 生成的。

更多信息

从那以后,我一直在家并回来工作。奇怪的是,该网站在我家运行良好!所以这是当前状态:

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

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

跟随 traceroute 引导...

  • 在工作 lan1 上当然只有一跳
  • 在工作 lan2 上,使用 icmp echos (pings) 的跟踪路由未在 60 跳内完成(条目 9 到 60 都是 * * *),但使用 tcp syn 数据包的跟踪路由在 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 证书有关?现在真的抓住了稻草......我要从wireshark信息中搜索一些术语,也许这会导致某个地方。

4

2 回答 2

1

您是否尝试过重新启动?在过去,它有助于偶尔清除记忆。

让 apache 变慢的另一件事是主机名查找,也许 dns chaching 服务器有问题。

一如既往地查看日志文件。也许某处有一个循环(dns或302 .htaccess)

于 2013-08-06T09:10:25.003 回答
0

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

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

显然,鉴于我发布的信息,无法猜测答案,但感谢所有提供建议的人。

于 2013-08-07T05:26:43.860 回答