私のウェブページは、Googleのグラフを使って5つのグラフを作成します。グラフがまだキャッシュされていない場合は、イメージを取得する次のコード行があります。
$ image = file_get_contents( "http://chart.apis.google.com/chart?"。$ query);
このコードをループで実行すると、各画像を取得するのに10秒かかります。しかし、私はコードのURLの代わりにGoogleのIPアドレスのいずれかを使用するように変更した場合:
$ image = file_get_contents( "http://74.125.93.100/chart?"。$ query);
イメージを取得するのに1秒未満かかりません。だから私の最初の考えは、DNSはURLを解決しておらず、遅延は割り当てられたDNSサーバーを通るサイクリングであるということでしたか?そこで私はサーバーからchart.apis.google.comにpingを試み、すぐに妥当な応答を返しました。
私の質問は、この遅延を引き起こす可能性がある見落としているかもしれないPHP(またはApache2)の設定がありますか、それともサーバー構成の問題のようなものですか?
cURLなどのイメージを取得するために別の方法を使用するとどうなりますか? – Matt
どのバージョンのPHPですか?問題が修正されたかどうかを最新の状態にアップグレードすることはできますか? –
私はDNSが実際に問題であるかどうかを確認するためにいくつかのテストを行っています。 API呼び出しをタイミングブロックでラップすることができます。 –