为什么PHP脚本在新服务器上执行时间长?
我的服务器有两个四核处理器(2.4GHz,16GB RAM)。我有一些PHP脚本,它们在很重的负载下运行。这些脚本中的大多数只做几件事:为什么PHP脚本在新服务器上执行时间长?,php,linux,apache,imagemagick,Php,Linux,Apache,Imagemagick,我的服务器有两个四核处理器(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的方法。但这没有多大帮助这可能有很多原因:
我会将此作为评论发布,但不幸的是,我无法澄清这些问题并告诉您发现了什么;) 这可能有很多原因:
我会将此作为评论发布,但不幸的是,我无法澄清这些问题并告诉您发现了什么;) 我建议您先对其进行分析,然后再使用类似的软件进行分析。然后你就知道什么需要时间了。我建议你先用软件进行评测,然后用类似的软件进行分析。然后你就会知道什么需要时间。我会开始将问题解耦。分别测试每个操作(从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的方法。但这并没有多大帮助