私は 2 つのサーバーを持っています。
- テスト - Win7 での WAMP (Intel i7 4GB RAM)
- プロダクション - Windows Server 2008 上の IIS + FastCGI + MYSQL (Intel Xeon 2.4GHZ 12GB RAM)
両方に innodb データベースがセットアップされており、PHP ソース ファイルを展開した後、データベースからデータを照会/表示する特定の関数グループが、運用サーバーで 100% 長くかかるように見えます。
私のテスト環境では、約 3 秒後に結果が返ってきます。実稼働環境では、まったく同じソース ファイルと同じ dbase のミラーを使用して、まったく同じクエリを実行するのに約 10 秒かかります。
どちらかといえば、私はタイミングが逆転することを期待していました。つまり、プロダクションは wamp よりも 100% 高速です。両側の my.ini ファイルを確認しましたが、明らかに同じではありませんが、これを引き起こす明らかな問題はありません。実稼働環境で my.ini のいくつかの異なる構成をテストしましたが、処理時間の短縮には効果がありませんでした。
このテストに使用されるクエリは、データベースに問い合わせる複雑な複数ループです (1 つのクエリを送信し、結果をループして、各行で mysql サーバーにさらにクエリを実行します)。すべての結果は、多次元配列を使用してメモリ内で保持および変更されます。
このデータをブラウザに送信するのにかかる時間ではなく、実際のスクリプト実行のみ(mysql + phpデータの取得と処理)のタイミングを計っています:)
次はどこを見ればいいですか?