3

Windows Vista マシンで wampserver を実行しています。私はこれを長い間行ってきましたが、うまく機能しています。このセットアップで多くのプロジェクトを完了しました。

しかし、今日、何も変更せずに (構成などは行わず)、PHP コードのみを変更しただけで、自分のサイトのページ (ユーザー セッションを含むページやデータベースにアクセスするページ) を読み込むたびに、読み込みが非常に遅くなることがわかりました - 30 秒以上、を使用して 1 ~ 2 秒かかります。

タスク マネージャーを見ると、ページの読み込みで、httpd プロセスが 10mb から 30mb、90mb、120mb、250mb にジャンプし、再び下に戻ることがわかります。

以前の php コード プロジェクトをテストしましたが、どれも遅いようです。

何が起こっている?

この混乱の問題について助けてくれてありがとう!

4

5 に答える 5

1

wampログファイルのサイズを確認してみてください。

すなわち

C:\wamp\logs

時々、それらが本当に大きくなると、Apacheの速度が低下する可能性があります。

于 2010-05-10T18:56:30.843 に答える
1

以下を確認してください。

  • データベースにアクセスするためのデータ アクセス ライブラリが最近変更/更新されていないかどうかを確認します (使用している場合)。
  • 推測ですが、以前のプロジェクトを最後にチェックしてから、ウイルス対策/ファイアウォール (または設定) を変更しましたか? より積極的なセキュリティは、物事を大幅に遅くする可能性があります。
  • WAMPSERVER メニューで Apache/PHP/MySQL のバージョンを変更しましたか?
  • たぶん、WAMPSERVER の再インストールを試みることができます (これを最後に行います。面倒でなければ、これが役立つとは思えませんが、本当に奇妙なケースでは可能です)。

しかし、経験と質問で説明したメモリ使用量から、SQL クエリの実行に時間がかかったり、非常に大きなデータ セットが返されたりするようです

クエリを最適化してみてください。速度には役立ちますが、実際のメモリ使用量にはなりません (少なくとも結果セットが同じ場合)。メモリについては、おそらくLIMITを使用して、返されるデータセットを減らすことができます (設計で許可されている場合)。

データで何をするかは実際にはわからないため、大きなデータセットで「再生」(大きな XML ドキュメントの解析など) を行うと、多くの時間/メモリがかかる可能性があることに注意してください (これも、このすべてのデータをどう処理するかに大きく依存します)。 )。

要するに、この投稿で何も役に立たない場合は、セットアップに関する詳細情報と、遅い場合の正確な動作 (コード サンプルも含む) を投稿してみてください。

于 2010-05-07T15:58:54.153 に答える
1

最近、ネットワーク構成を変更したり、システムをアップグレードしたりしましたか? ネットワーク構成またはウイルス対策/セキュリティ ソフトウェアによってこの問題が発生している可能性があります。たとえば、過去にこれを引き起こす zonealarm に問題がありました。

また、最近 "127.0.0.1" から "localhost" に入力を切り替えた場合、またはネットワークを移動した場合は、C:\Windows\System32\drivers\etc\hosts から IPV6 localhost 設定を削除することでメリットが得られる場合があります。 :

行を変更します

::1             localhost

# ::1             localhost
于 2010-05-10T19:37:51.393 に答える
1

誰もこれを提案していないことに驚いています。物事が実際に遅くなった理由を常に確認する必要があります。

まずパフォーマンス モニターを使用して、ボトルネックがどこにあるかを確認します。(perfmon.exe) ハード ページ フォールトは実際にボトルネックですか? ハードドライブはページファイルの読み取り/書き込みでビジーですか? ハードディスクの IO キューの長さを確認してください。CPU はビジーですか?

何もビジーに見えない場合は、procmonを使用して、php プロセスがいくつかのシステム コールでブロックされていないかどうかを確認します。

お役に立てれば。

于 2010-05-10T20:31:39.793 に答える
1

データベースのボトルネックの検出とは関係ありませんが、XDebugを cachegrind ビューアー ( WebGrindWinCacheGrind など) と組み合わせて使用​​すると、実行に最も時間がかかる PHP コードの部分を見つけることができます。

于 2010-05-11T09:52:17.840 に答える