在另一台服务器上输出脚本的最佳方法是什么?

时间:2013-12-03 19:57:13

标签: php mysql curl exec nominatim

我在服务器上安装了Nominatim(带有开放的街道地图)。

在另一台服务器上,我有一个包含多列3的数据库,其中3列是lat(纬度),lon(经度)和地址。 lat和lon列用坐标完成,对于第3列,我用PHP编写了一个脚本,用于查询Nominatim(在另一台服务器上)以获取坐标的地址并在运行时更新数据库。目前脚本使用cUrl(创建类似.../reverse.php?lat=XX&lon=YY的URL),获取输出(xml)并更新数据库。

问题是1000坐标大约需要16秒。该脚本始终运行8个cUrl线程,直到完成所有提取。我发现8个线程是最好的,因为服务器有一个8核CPU。

我想知道是否有更好的解决方案来更快地获得地址。我想通过ssh运行exec,甚至将数据库导出到nominatim服务器并在那里运行exec。

在开始编写代码之前,我想得到一个意见,所以我不会写几百行代码来获得更糟糕的结果。

1 个答案:

答案 0 :(得分:0)

我通过在Nominatim服务器上移动脚本并使用execs运行8个脚本,每个处理1/8的数据,设法将时间缩短到4秒。