2つのクアッドコアプロセッサ(2.4 GHz、16 GB RAM)を搭載したサーバーがあります。非常に重い負荷で実行されるPHPスクリプトがいくつかあります。これらのスクリプトのほとんどは、いくつかのことを行います。
- データベースからデータをフェッチします(小さなテーブルから1行だけ)
- 他のサーバー(主にFacebook)からデータを取得する
- 小さな写真をアップロードする
- データベーステーブルを更新します(このテーブルは非常に頻繁に使用され、行数は非常に急速に増加し、1秒あたりほぼ2行になります)
問題は、スクリプトの実行に時間がかかりすぎることです。以前は構成が低いサーバー(1つのクアッドコアプロセッサ、6GBのRAM)がありましたが、スクリプトが完了するまでに4〜5秒かかりました。しかし、現在、実行時間は30〜40秒、さらにそれ以上です。
実行時間を測定するにはどうすればよいですか?microtime()
スクリプトの開始時と終了時に測定し、それらを減算します。大まかな見積もりが必要でした。
サーバー構成:apache構成で設定されるいくつかのパラメーターは次のとおりです。
server_limit = 350
max_chlid = 350
keep_alive = off
その他の特徴:1。サーバーに大きな負荷がかかっていない場合、実行時間は非常に短い2.以前のサーバーは、大きな負荷がかかっていても実行にかかる時間が非常に短い
他に何を含めるべきかわかりません。私に聞いてください、そして私はそれらをここに投稿します。
これを改善するにはどうすればよいですか?
アップデート:
問題はImageMagickライブラリにあることがわかりました。私はグーグルで検索し、OpenMPを無効にするなどの解決策をいくつか試しました。しかし、それはあまり役に立ちませんでした