Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么PHP脚本在新服务器上执行时间长?_Php_Linux_Apache_Imagemagick - Fatal编程技术网

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

为什么PHP脚本在新服务器上执行时间长?,php,linux,apache,imagemagick,Php,Linux,Apache,Imagemagick,我的服务器有两个四核处理器(2.4GHz,16GB RAM)。我有一些PHP脚本,它们在很重的负载下运行。这些脚本中的大多数只做几件事: 从数据库中获取数据(仅从一个小表中获取一行数据) 从其他服务器(主要是Facebook)获取数据 上传一张小照片 更新数据库表(此表使用非常频繁,行数增长非常快,几乎每秒2行) 问题是,这些脚本的执行时间太长。我以前有一台配置较低的服务器(一个四核处理器,6GB内存),但脚本需要4-5秒才能完成。但现在,执行时间是30-40秒,甚至更多 我如何衡量执行时间?我

我的服务器有两个四核处理器(2.4GHz,16GB RAM)。我有一些PHP脚本,它们在很重的负载下运行。这些脚本中的大多数只做几件事:

  • 从数据库中获取数据(仅从一个小表中获取一行数据)
  • 从其他服务器(主要是Facebook)获取数据
  • 上传一张小照片
  • 更新数据库表(此表使用非常频繁,行数增长非常快,几乎每秒2行)
  • 问题是,这些脚本的执行时间太长。我以前有一台配置较低的服务器(一个四核处理器,6GB内存),但脚本需要4-5秒才能完成。但现在,执行时间是30-40秒,甚至更多

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

    服务器配置:以下是apache配置中设置的一些参数:

    server_limit = 350
    max_chlid = 350
    keep_alive = off
    
    其他特征: 1.当服务器负载不重时,执行时间非常短 2.以前的服务器执行时间非常短,即使在负载很重的情况下也是如此

    我不知道我还应该包括哪些细节。请问我,我会把它们贴在这里

    我应该做些什么来改进这一点? 更新:


    我发现问题出在ImageMagick库上。我在谷歌上搜索并尝试了一些类似禁用OpenMP的方法。但这没有多大帮助

    这可能有很多原因:

  • 你的问题“慢”吗
  • 服务器配置正确吗
  • 它的带宽慢吗
  • MySql服务器配置正确吗
  • 您插入的表格的格式是什么
  • 是否有其他东西(例如cronjob)正在破坏数据库

  • 我会将此作为评论发布,但不幸的是,我无法澄清这些问题并告诉您发现了什么;)

    这可能有很多原因:

  • 你的问题“慢”吗
  • 服务器配置正确吗
  • 它的带宽慢吗
  • MySql服务器配置正确吗
  • 您插入的表格的格式是什么
  • 是否有其他东西(例如cronjob)正在破坏数据库

  • 我会将此作为评论发布,但不幸的是,我无法澄清这些问题并告诉您发现了什么;)

    我建议您先对其进行分析,然后再使用类似的软件进行分析。然后你就知道什么需要时间了。

    我建议你先用软件进行评测,然后用类似的软件进行分析。然后你就会知道什么需要时间。

    我会开始将问题解耦。分别测试每个操作(从db获取、从fb获取、上载等)


    同时检查新服务器环境的所有组件(包、版本、配置等)是否与以前相同。

    我将开始解决此问题。分别测试每个操作(从db获取、从fb获取、上载等)


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

    您还应该查看数据库的设置,当传输到新服务器时,是否在缓存、内存和查询限制方面对所有数据库进行了适当调整,内部查询缓存——这些东西会产生巨大的差异,特别是当DBA知道他在做什么时。另外,在服务器更改后,是否对表进行了正确的分析?你的索引现在很可能是垃圾。@Fluffeh谢谢,我正在尝试你的建议。我不是在底部测量结束时间,而是在脚本的不同位置测量结束时间。我将发布我得到的信息。您还应该看看DBs的设置,当传输到新服务器完成时,是否所有的DB都在缓存、内存和查询限制、内部查询缓存方面进行了适当的调整-这些事情会产生巨大的不同,特别是如果DBA知道他在做什么的话。另外,在服务器更改后,是否对表进行了正确的分析?你的索引现在很可能是垃圾。@Fluffeh谢谢,我正在尝试你的建议。我不是在底部测量结束时间,而是在脚本的不同位置测量结束时间。我会发布我所得到的信息,你问的问题是正确的,我不明白为什么人们对你不屑一顾,伙计!!!!因为这应该是一个评论而不是一个答案,相信我,如果可以的话我会评论的,但我缺乏xp来做soserver ahs 100mbps端口。我已经运行了mysqltuner.pl,并将建议包含在my.cnf中。我有一些cron的工作,但是他们一天只运行几次。你问对了问题,我不明白为什么人们会对你不屑一顾,伙计!!!!因为这应该是一个评论而不是一个答案,相信我,如果可以的话我会评论的,但我缺乏xp来做soserver ahs 100mbps端口。我已经运行了mysqltuner.pl,并将建议包含在my.cnf中。我有一些cron作业,但它们一天只运行几次。伙计,你在用什么样的数据库表,MyIsam还是innodb。你的mySQL版本是什么?我发现问题出在ImageMagic库,它用来生成图像。没有太多的计算密集型处理,仍然很慢。我应该再安装一次。伙计,你用的是哪种数据库表,MyIsam还是innodb。你的mySQL版本是什么?我发现问题出在ImageMagic库,它用来生成图像。没有太多的计算密集型处理,仍然很慢。我应该试着再安装一次。我发现问题出在wirh ImageMagick库上。我在谷歌上搜索并尝试了一些类似禁用OpenMP的方法。但这并没有帮助muchi找到问题所在是wirh ImageMagick库。我在谷歌上搜索并尝试了一些类似禁用OpenMP的方法。但这并没有多大帮助