1

IIS 7 で ExpressionEngine (PHP アプリケーション) を実行したときに発生した遅延の問題のデバッグに取り組んでいます。

これは実際には ExpressionEngine の問題ではなく、私の PHP/MySQL セットアップの問題だと思います。

この問題は次のように示されます。

  1. ウェブサイトのアドレスに移動
  2. IE が 10 ~ 15 秒間「スピン」し、ロードを待機します。この期間中:
    • サーバーのプロセッサ使用率は最小限で、PHP のプロセスは非アクティブです
    • MySQL でサイト ユーザーへの接続が表示されますが、スレッドはさらに「スリープ」状態にあります。
    • サーバーには十分な空きメモリがあります
    • ほとんど、サーバーは何もしていません
  3. 10 ~ 15 秒後、接続 MySQL がいくつかの非常に高速なクエリを実行し (非常に高速)、サイトが 1 秒以内に読み込まれることがわかります。

これはかなり複雑なサイトですが、システム全体が 10 秒間待っているだけで、何も処理していないというのは意味がありません。私はIIS7でFastCGIを使用していますが、これは正常に動作しているようです。これは、FastCGI、PHP、またはMySQLでさえ何かを待っていて、それを取得せず、タイムアウトが発生した後のある種のタイムアウトの問題のように思えます、処理を続行します。

似たような経験をした人はいますか?

ありがとう!

PS - データベース (MySQL) と PHP が同じサーバー上で実行されていることも付け加えておきます。

4

3 に答える 3

2

mysql は、Web サーバーからの接続で逆引き DNS を実行しようとしている可能性があります。DNS 名で mysql 接続をフィルタリングする必要がない場合は、skip-name-resolveを mysql 構成ファイルに追加します。

于 2009-09-11T17:18:39.167 に答える
2

Twitter プラグインは、CMS システムで多くの問題を引き起こします。通常、Twitter が存在するかどうかをチェックする機能があります。Twitter がビジー状態になると、システムの速度が低下します (そのため、断続的に表示されることがあります)。Twitter プラグインと、Twitter が存在するかどうかをチェックするルーチンを探します。このコードをコメントアウトして、true を返します (つまり、Twitter に存在するかどうか尋ねずに、存在すると想定してください)。

于 2010-02-01T00:06:15.170 に答える
0

理由はわかりませんが、これに対する解決策はPHP5.3をインストールすることでした。PHP 5.2.10を実行していましたが、5.3ではWindows用の広範な最適化が追加されたと思います。または、他の奇妙な問題を修正しました-誰が知っていますか。

実際、さらに掘り下げてみると、問題はTwitterプラグインにあるようです。いつかエラーが発生してTwitterから戻ってくるまで25秒待ちます。多分これはDNSに関連していますか?

于 2009-09-11T23:53:26.233 に答える