この問題の修正をどこから始めればよいか考えている人は誰でも、最初のハンドシェイクには最大20秒かかることもありますが、その後の更新には0.9秒しかかかりません。
セットアップ、
100/10 Mbps
Windows OS
4GB RAM
Intel Core 2 @ 3.0 GHz
そして7200RPM HDD
Apache 2.4
SSLなし
Mod_Securityが有効
Mod_Deflateが有効
Mod_Expiresが有効
Mod_ReWriteが有効
同じマシン上のPHPとMySQL。
私ははるかに遅いマシンのパフォーマンスが良くなるのを見てきました。そのため、私の問題は最適化の問題だと思います。
Apache内でDNS解決をアクティブ化したようです。これにより、ApacheログにIPの代わりにホスト名を含めることができます。
そうでない場合、テストする最良の方法はネットワークトラフィックを分析することです。これは次の方法で実行できます。
次のコマンドを実行して調査を開始することもできます。
curl --trace-time -vI www.example.org
Www.exmaple.orgがあなたのサイトです。この出力を質問に追加してください。
Windows 6.1(Server 2008R2およびWindows7)以降、Windowsはローカルホストを解決するためのhostsファイルの使用を停止し、現在は低速の独自のDNSリゾルバーを使用しています。
これを修正する2つの方法:
a)Webアプリケーション(データベース接続)、httpd.conf、httpd-vhosts.conf、php.ini、およびその他の考えられる場所で、「localhost」のすべてのインスタンスを見つけて「127.0.0.1」に置き換えることができます。
または
b)ここにあるファイルhosts
内:"C:\Windows\System32\Drivers\etc"
最後の2行のコメントを解除します。
# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
この特定の問題は、トラフィックの使用を制限するためにサーバーで使用しているmod_bwが原因で発生しました。これはすべてのファイルを制限し、HTMLファイルでさえ多少の遅延を引き起こしました。これを正しく構成すると、すべてが正常に機能します。