为什么在新的服务器上PHP脚本的执行时间很长?

我有一台服务器有2个四核处理器(2.4 GHz,16 GB RAM)。 我有一些PHP脚本运行在非常沉重的负载下。 这些脚本中的大部分都做了很多事情

  1. 从数据库中提取数据(从一个小表中查找一行)
  2. 从其他服务器(主要是Facebook)获取数据
  3. 上传一张小照片
  4. 更新数据库表(这个表的使用非常繁重,行数增长非常快,几乎每秒2行)

问题是,这些脚本需要花费太多的时间来执行。 我以前有一个服务器configuration较低(一个四核心处理器,6GB RAM),但脚本需要4-5秒才能完成。 但现在执行时间是30-40秒,甚至更多。

我如何测量执行时间? 我测量脚本开始和脚本结束microtime()并减去它们。 我只是需要一个粗略的估计。

服务器configuration:这里是一些在Apacheconfiguration中设置的参数:

 server_limit = 350 max_chlid = 350 keep_alive = off 

其他特性:1.服务器不负载时,执行时间非常短2.以前的服务器执行时间很短,即使在重负载

我不知道我应该包括哪些细节。 请问我,我会在这里发表。

我该怎么做才能改善呢?

更新:

我已经find了ImageMagick库的问题。 我GOOGLE了一下,尝试了一些像禁用OpenMP一样的function。 但是这并没有太大的帮助

我建议用xdebug进行分析,然后用kcachegrind等软件进行分析。 那么你会知道什么是需要时间。

这可能有很多原因:

  1. 你的问题“慢”吗?
  2. 服务器配置是否正确?
  3. 它有一个缓慢的带宽?
  4. MySql-server配置是否正确?
  5. 你插入的表的格式是什么?
  6. 是别的东西(例如cronjob)杀死数据库?

我会张贴这个评论,但不幸的是我不能请澄清这些问题,并告诉你发现;)

我会开始解决这个问题。 测试每个动作(从数据库获取,从fb获取,上传等)。

同时检查新服务器env的所有组件是否与以前一样(包,版本,配置等)。