3

CPU 使用率が高いため、サーバーの実行速度が低下しています。CPU 使用率が高い原因をいくつか突き止めました。

  • データセットに対する多数の正規表現関数。
  • strpos、substr 操作。
  • 基本的な数学演算のために配列をループします。

これらの操作はすべて、私の Web サイトでの 1 回の検索に必要です。訪問者が検索を行うと、CPU は 100% になります。これらの操作は必須であるため、私にできることはありません。

私の質問:

  • 上記の操作がほとんどすべての CPU 使用率の原因であることを考えると、httpd.conf や php.ini などの構成ファイルを構成する最善の方法は何でしょうか?
  • 上記の操作がほとんどすべての CPU 使用率の原因であることを考えると、サーバーをアップグレードする最善の方法は何でしょうか?

更新 1:

操作の例は次のとおりです。

preg_match_all('/ValuesBreakdown_\d+_[A-Z]+_out.push\(([\d.,]+)/',$content,$matches);

この 1 回の操作で多くの CPU が使用されることはありませんが、この種の操作の数が多くなると合計されます。

4

1 に答える 1

0

パフォーマンスの問題に直面したときは、その原因が実際に自分が考えているものであることを常に確認してください。

私のアドバイスは、最初にたとえば XDebug + webgrind を使用して原因を確認することです。

次に、パフォーマンスを改善するためにコードのロジックフローを変更できる可能性があります。たとえば、1 回だけではなく、データセットを数回ループしていますか? アルゴリズムを改善できないと確信していますか? 等..

毎回 XDebug を使用して、実際にパフォーマンスが向上したことを証明してください。

于 2012-04-24T14:10:13.600 に答える