2

私は最近 PHP に変換されたサイト (以前は VB.net) に取り組んでおり、新しい PHP サイトの実行速度は非常に遅いです (ここに PHP ジョークを挿入してください)。

www.silhouetteonlinestore.com

そこで私が最初にしたことは、コードを最適化し、見つけたすべての場所で微調整を行うことでしたが、ロード時間はおそらく 50 ミリ秒以上改善されませんでした。次に、web.config で URL の書き換えをやめたところ、実際には読み込み時間が半分になりましたが、それでも許容できるものではありませんでした。

それから私はこれを見つけました:

  • www.silhouetteonlinestore.com/php/test.php (動作が遅い)
  • www.silhouetteonlinestore.com/php/test.html (高速に実行)
  • www.silhouetteonlinestore.com/php/test.aspx (高速に実行)

上記の 3 つのファイルはすべて、タグに「test」という単語を含む同じ静的 HTML コードを実行しますが、PHP のファイルは実行速度が遅くなります。同じサーバー上で同じ構成のサイトのテスト バージョンは非常に高速に実行されるため、問題が何であれ、サイト上の余分なトラフィックによって悪化しているように見えます。しかし、数百万人がサイトにアクセスしているわけではなく、平均して 300 ~ 500 人のユーザーがサイトを閲覧しています。

構成:

  • IIS 6.0 上の PHP 5.2.17、FastCGI を使用
  • クアッドコア AMD Opteron(tm) プロセッサ 2374 HE 2.20 GHz を搭載した Windows 2008 サーバーでホスト
  • 8GBのRAM
  • 64 ビット OS

私はサーバー管理の経験があまりないので、助けていただければ幸いです。私の最初の予感は、PHP 5.4.4 にアップグレードすることです。互換性の問題がある可能性があるためです。私はしばらく前にそれを試みましたが、正しく動作させることができませんでした (phpinfo() は、いくつかの設定がまだ 5.2 であると考えていることを明らかにしました。設定されていない環境変数などがあったと思います)。

私が省略した他の重要な情報を教えてください。お時間をいただき、誠にありがとうございます。

4

1 に答える 1

1

問題の原因を突き止めるには、次のことを試してください。

  1. PHP の strict、notice、error、および warning メッセージを確認する必要があります。これを行うには、PHP.ini を編集します。PHP マニュアルのエラー関数セクションを参照してください。最初の呼び出しが発生する前に問題が発生する可能性があるため、実際には php.ini ファイルを編集し、ini_set()ini_set()を使用しないことに注意してください。
  2. IIS 用の PHP マネージャーをインストールし、IIS マネージャーに追加されるセクションの警告を確認します。php.ini ファイルの問題点について、いくつかの提案が表示されます。PHP の速度を大幅に低下させる問題を検出するのを見たことはありませんが、その可能性は確かにあります。
  3. Process Monitorを使用して php.exe への呼び出しをプロファイリングし、失敗したファイルの呼び出しなどがあるかどうかを確認します。
于 2012-12-10T17:54:17.597 に答える