質問

新しいVPSサーバーがあり、それを同じISPの別のサーバーに接続しようとしています。 mysqlのコマンドラインツール経由で接続すると、接続は非常に高速です。

PHPを使用してリモートDBに接続する場合、接続時間は最大5秒かかる場合があります。この後のクエリは迅速に実行されます。

これはmysqlに限定されず、file_get_contents()を使用してほぼすべての他のサーバーからファイルをダウンロードすると、同じ遅延が発生します。 wgetを使用してファイルを取得しても、この遅れはありません。

dns_get_record()を使用してPHP内からDNSクエリのタイミングを計ったところ、これらは高速(1〜2ミリ秒)です。

これを引き起こしているのは、php configのどのような考えですか?

ありがとう。

役に立ちましたか?

解決 2

最終的にPHP 5.1.6からPHP 5.2.6にアップグレードすると、問題はなくなりました。これは間違いなくPHP内のDNSルックアップの問題であり、次の実行には約5秒かかります。

gethostbyname('example.com')

IPV6が問題であると感じています(ほとんどの場合、このオンラインについて読むことの予感です)が、証拠はありません。

他のヒント

PHPがどのモードで実行されているかを確認します。何らかの理由でスクリプトをCGIとして実行しています。基本的に、PHP自体は非常に遅く、リモート操作を実行しているときにのみ顕著です。

Webサーバーの構成を確認します。また、オプションの場合は、コマンドラインからPHPを試して、Webサーバーレイヤーを使用しなくてもパフォーマンスが向上するかどうかを確認してください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top