ubuntu 上的网站突然运行缓慢

ubuntu 上的网站突然运行缓慢

我管理的网站今天突然开始运行缓慢。我想找出瓶颈在哪里。我创建了一个 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 上工作(与服务器不同的 lan):速度非常慢
  • 在 lan1 上工作(与服务器相同的 lan):工作正常

问题可能出在工作局域网 2 上的 DNS 上。也许 ISP 正在缓存或过滤请求?

按照跟踪路由的指引...

  • 在工作局域网 1 上当然只有一个跳
  • 在工作局域网 2 上,使用 ICMP 回显 (ping) 的跟踪路由未在 60 跳内完成(条目 9 到 60 都是 * * *),但使用 TCP Syn 数据包的跟踪路由在 12 跳内完成
  • 从我家出发的 traceroute 也无法使用 icmp echo 成功,但是使用 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 信息中的一些术语,也许会找到一些线索。

答案1

由于 LAN2 上的跟踪路由未完成,因此可能是硬件故障。请检查电缆故障、服务灯闪烁的路由器/交换机,并更换它们。

答案2

我找到了一台插入了两个局域网的 Windows PC。用户主要访问问题中讨论的网站,因此我将这台 PC 从局域网 2 上拔下,以便它能够直接与局域网 1 上的网站通信。完成此操作后,局域网 2 上所有其他 PC 都开始正常访问网站 - 连接和加载现在恢复到通常的快速速度。我猜这台 PC 路由了一半的网站数据包,而其余的则通过互联网传输,也许它们没有在浏览器上重新组装。

我不太确定是否确实如此,但我确信当我断开这台电脑与 LAN2 的连接时问题就解决了。

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

相关内容