正如我上面所述:我有一个非常大但非常简单的脚本,它从网站获取一个json文件,对其进行解码,然后将数据保存在PostgreSQL数据库中。我的电脑(i3M CPU,笔记本电脑)需要大约4到5分钟才能完成(大约300 000条记录),但在我刚刚租用的服务器上做同样的事情要花费大约10-15倍的时间。
专用服务器有一个intel Xeon quad(3Ghz)CPU,整体水平更好的规格和更好的互联网访问,所以我很确定它与此无关。它运行最新的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。
答案 0 :(得分:1)
性能问题可能是由很多事情引起的。
你应该编写一些脚本来“识别”瓶颈:
如果您现在没有遇到(意外)差异,那么您已经消除了硬件问题。 - 为繁重的数据库加载重复该任务,以确定数据库是否可能未配置。有时它只是一个简单的“布尔”标志,可能会产生严重的性能影响。
答案 1 :(得分:1)
为了扩展dognose的答案,我发现优化数据库访问可以对性能产生重大影响。
如果您注释掉数据库查询,看看运行时会发生什么可能会很有趣。这将告诉您在DB上花费了多少运行时间。
如果数据库占用大量时间,请尝试批量处理您的请求。不要一次向DB发送一个插入,而是尝试将它们保存在变量中并批量发送50到100个插入(或更多)。根据您设置数据库连接的方式,每个请求可能会产生大量开销。