私は1秒間に1台のサーバーから別のサーバーにWebリクエストを受け取りました。私のブラウザの同じ要求はほとんど時間がかかりません。私は、様々な同様の質問を通して見て、 PHPの内部からのWeb要求がブラウザより遅い
- 使用のカールを含め、私が見つけることができるすべての提供の提案を試してみました高速化ドメインルックアップ
- これらの
なし、時間上の任意の影響を与えていないキープアライブを避けるために、ターゲットサーバ上のヘッダーを使用しています。
$timeBefore = microtime(true);
//Only one of these active at a time
$context = stream_context_create(array('http' => array('header'=>'Connection: close\r\n')));
$output = file_get_contents($url,false,$context);
//Or
$context=stream_context_create(array('http' => array('header'=>"Host: www.google.com\r\n")));
$output = file_get_contents($url, false, $context);
//Or
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);
$timeAfter = microtime(true);
し、ファイル$timeAfter - $timeBefore
にログインします。ここで私はこれを試した方法があります。私は結果として約1.04202604294を常に得て、これを使用するクライアントアプリケーションは実際に1秒の遅延を見ます。
ここで2つのサーバーは、次のようにAからBの話をしています.BのAへの返答中に、このURLをAに送り返し、すべてを取り込んで元の応答を送信しますソースに接続している間にソースに戻る接続があります。ここで
curl_getinfo
content_type => text/html,
http_code => 200,
header_size => 219,
request_size => 479,
filetime => -1,
ssl_verify_result => 0,
redirect_count => 0,
total_time => 1.04360199999999991860022419132292270660400390625,
namelookup_time => 0.0001579999999999999915796522476085783637245185673236846923828125,
connect_time => 0.0007219999999999999855393451042573360609821975231170654296875,
pretransfer_time => 0.000772000000000000008264222639553508997778408229351043701171875,
size_upload => 0,
size_download => 1,
speed_download => 0,
speed_upload => 0,
download_content_length => -1,
upload_content_length => -1,
starttransfer_time => 1.0435689999999999688640173189924098551273345947265625,
redirect_time => 0,
redirect_url =>
からのデバッグ出力である。このコマンドは、お互いに同じホスティングサービス上の2つのサーバーから送信されている、と彼らは、負荷とその高品質のホスティングサイト(下の両方ではありません液体ウェブ専用サーバ)。応答とURLはどちらも非常に小さい
'curl_getinfo'を見てください。これは、ルックアップの各段階がどのくらいの時間を要したかを示すはずです。 DNSから名前を解決するまでどれくらいかかりましたか?これにより、最適化が必要な領域が表示されます。 – halfer
上記の出力を追加しました。 – user2292539
うん、 'starttransfer_time'は大部分の時間です - あなたは他のサーバと同じような遅い時間を得ますか?あなたのサーバとターゲットサーバはどこにありますか?どこまで離れていますか? – halfer