0

私が管理しているウェブサイトが今日突然遅くなり始めました。ボトルネックがどこにあるかを把握しようとしています。14kb のテキスト ファイルを作成しましたが、ブラウザで開くのに 5 秒かかりました。インターネット接続に問題があるわけではないと確信しています。たとえば、YouTube を問題なく見ることができます。

LAN で 14kb のファイルにアクセスすると、ページを開くのに 6 ミリ秒かかります。これは、問題はApacheではないと思います。

ただし、この Web サイトは mysql も使用しており、テーブルにデータを表示するページを開くと、10 分以上かかります。LAN では、これはすぐに開きます。ページがインターネット経由で読み込まれているときに完全なプロセスリストを確認すると、時間がかかるクエリがあります。

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 マシンへの完全なルート アクセス権があります。Web サイトは、apache と php から生成されます。

より詳しい情報

私はそれ以来家にいて、仕事に戻ってきました。奇妙なことに、ウェブサイトは私の家から正常に動作します! したがって、現在のステータスは次のとおりです。

  • 自宅で: 正常に動作します
  • lan2 (サーバーとは別の LAN) で作業中: ひどく遅い
  • lan1 (サーバーと同じ lan) で動作中: 正常に動作します

作業 lan2 の DNS に問題がある可能性があります。おそらくISPはリクエストをキャッシュまたはフィルタリングしていますか?

トレースルートのリードに従って...

  • 作業 lan1 では、もちろんホップは 1 つだけです。
  • 作業 lan2 では、icmp エコー (ping) を使用する traceroute は 60 ホップで完了しませんでしたが (エントリ 9 から 60 はすべて * * *)、tcp syn パケットを使用する traceroute は 12 ホップで完了しました
  • 私の家からの traceroute も icmp エコーを使用して通過しませんでしたが、tcp syn パケットを使用して 9 ホップで完了しました。

問題は完全にlan2に限定されているようです-これは、構成の問題(たとえば、このWebサイトのみにキャッシュされた悪い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 を遅くするもう 1 つの原因は、ホスト名ルックアップです。おそらく、DNS チャッシング サーバーに問題があります。

いつものようにログファイルを見てください。おそらくどこかにループがあります (dns または 302 .htaccess)

于 2013-08-06T09:10:25.003 に答える
0

仕事で両方の LAN に接続されている Windows PC を見つけました。ユーザーは主に質問で説明されている Web サイトにアクセスするため、この PC を lan2 から取り外して、lan1 の Web サイトと直接通信できるようにしました。これを行うと、lan2で動作している他のすべてのPCがWebサイトで正常に動作し始めました-接続と読み込みは通常の高速に戻りました. 私の推測では、この PC は Web サイト パケットの半分をルーティングし、残りはインターネット経由で送信され、おそらくそれらはブラウザで再構築されていませんでした。

これが事実かどうかはよくわかりませんが、この pc を lan2 から切断したときに問題が解決したことは確かです。

明らかに、私が投稿した情報から答えを推測する方法はありませんでしたが、提案をしてくれたすべての人に感謝します。

于 2013-08-07T05:26:43.860 に答える