2017-10-26 12 views
0

同じローカルネットワーク上の新しい仮想Webサーバーに移行されている運用用の仮想Webサーバーがあります。問題は、新しいサーバーにパフォーマンスの問題があることです。2つのWebサーバー間のパフォーマンスの違いをトラブルシューティングするにはどうすればよいですか?

たとえば、元のサーバーでは約1秒で読み込まれますが、新しいサーバーでは25秒以上かかることがあります。私はすでに問題としてデータベース接続を排除しました。

両方のサーバは、PHPを実行するUbuntu Apacheサーバです。サーバーのバージョンには若干の違いがありますが、ここではできる限りリストにします。

私の主な質問はです:各サーバーでWeb要求をプロファイルする一般的な方法はありますか?

私はPythonのスクリプトや機能をプロファイリングして、プログラムのどの部分が時間を要しているかを分かりやすくする方法と同じように、あるサーバーでWeb要求を他のサーバーと比較してプロファイルしたいと思います。

もちろん、サーバーへのWebリクエストは、ローカルコンピューター上で実行されるプログラムと基本的に異なりますが、私はボトルネックがどこにあるかを知る必要があります。どんな助けでも大歓迎です。

古いサーバコンフィグ のUbuntu 14.04 - PHPのバージョン5.5.9

新しいサーバコンフィグ のUbuntu 16.04 - PHPのバージョン5.6.31(また、バージョン7、同じ結果でテスト済み)

答えて

1

私はPHPスクリプトの実行時間を記録することをお勧めします。
PHP実行のどこかから来た場合は、簡単に気づくでしょう。
開始時と終了時にログを行います。次に、両方をテストし、異なる実行時間を参照することができます。
PHPから問題が発生するのは間違いないと思いますが、それを行うと、PHP7との違いが30%速くなるはずです。

+0

私はそれがPHPであるとは思わないので、私は何とかリクエストトランザクション全体をプロファイリングできると考えていました。私は、PHPが完了した後、ゆっくりと送信を停止しているこのサーバに関するものがあると思います。 –

+1

これは可能かもしれませんが、テストするのが最も簡単なのはPHPスクリプトの中です。それはdbの実装やPHP libを含む何かから来ることができます。 – user6465431354

関連する問題