3

由于 CPU 使用率高,我的服务器运行缓慢。我已将 CPU 使用率高的原因归结为以下几个原因:

  • 数据集上的大量正则表达式函数。
  • strpos,substr 操作。
  • 循环遍历数组以进行基本的数学运算。

在我的网站上进行一次搜索需要所有这些操作。如果访问者进行搜索,CPU 将达到 100%。我对这些操作无能为力,因为它们是必需的。

我的问题:

  • 鉴于上述操作几乎是所有 CPU 使用的原因,那么配置 httpd.conf 或 php.ini 等配置文件的最佳方法是什么?
  • 鉴于上述操作是几乎所有 CPU 使用率的原因,那么升级服务器的最佳方法是什么?

更新 1:

一个操作的例子是:

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

这个单一的操作并不占用大量的CPU,但是加起来就是这种操作的大量。

4

1 回答 1

0

面对性能问题时,请始终确保原因确实是您的想法。

我的建议是首先使用 XDebug + webgrind 并确认原因。

然后您可能能够更改代码的逻辑流程以提高性能:例如,您是否循环数次数据集而不是仅一次?你确定你不能改进你的算法吗?ETC..

每次都使用 XDebug 向自己证明您确实提高了性能。

于 2012-04-24T14:10:13.600 回答