[英]PHP script much slower on server than on WAMP localhost
因此,如上所述,我有一个很大但很简单的脚本,该脚本从网站获取一个json文件,对其进行解码,然后将数据保存在PostgreSQL数据库中。 在我的计算机(i3M CPU,笔记本电脑)上完全完成(大约300 000条记录)大约需要4到5分钟,但是在我刚刚租用的服务器上完成同一操作大约需要10到15倍的时间。
专用服务器具有英特尔至强四核(3Ghz)CPU,并且总体上具有更好的规格和更好的Internet访问,因此,我敢肯定与它无关。 它运行最新的Debian,Apache / 2.4.10,PHP版本5.6.22-0,PostgreSQL 9.5。
我试图从WAMP设置中复制设置和模块,以得到我的帮助。 不幸的是,事实并非如此。 不知道什么信息可以帮助解决这个问题,但是我很乐意回答任何问题。
我几乎可以肯定,它与某些必须跳过的选项有关,因此,我们将不胜感激。
PS:WAMP使用:2.4.17 Apache,5.6.16 PHP,9.5 PostgreSQL。
性能问题可能是由很多原因引起的。
您应该编写一些脚本来“识别”瓶颈:
如果您现在没有遇到(意外的)差异,那么您已经消除了硬件问题。 -对繁重的数据库负载重复执行此任务,以弄清数据库是否配置错误。 有时,它只是一个简单的“布尔”标志,可能会严重影响性能。
为了进一步了解Dognose的答案,我发现优化数据库访问可以在性能上产生很大的不同。
注释掉数据库查询后,看看运行时会发生什么可能会很有趣。 这将告诉您在数据库上花费了多少运行时间。
如果数据库花费大量时间,请尝试分批处理您的请求。 尝试一次将它们保存在变量中,然后批量发送50至100个(或更多)插入,而不是一次将单个插入发送到DB。 根据您设置数据库连接的方式,每个请求可能会有大量开销。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.