Web services Cronjob:Web服务查询

Web services Cronjob:Web服务查询,web-services,optimization,cron,Web Services,Optimization,Cron,我有一个cronjob,每小时运行一次,解析150000多条记录。每个记录在MySQL表中单独汇总。我使用两个web服务来检索用户信息 用户统计(ip、国家、城市等) 电话信息(如果是固定电话或手机,如果是手机,运营商是什么) 每次我得到一条记录,我就检查我是否有信息,如果没有,我就调用这些web服务。在跟踪我的代码后,我发现这两个调用都需要2到4秒,这使得我的cronjob非常慢,我无法按时编译统计数据 有没有办法让这些web服务更快 谢谢简单: 本地获取数据并使用mellissa数据: 对于

我有一个cronjob,每小时运行一次,解析150000多条记录。每个记录在MySQL表中单独汇总。我使用两个web服务来检索用户信息

  • 用户统计(ip、国家、城市等)
  • 电话信息(如果是固定电话或手机,如果是手机,运营商是什么)
  • 每次我得到一条记录,我就检查我是否有信息,如果没有,我就调用这些web服务。在跟踪我的代码后,我发现这两个调用都需要2到4秒,这使得我的cronjob非常慢,我无法按时编译统计数据

    有没有办法让这些web服务更快

    谢谢

    简单:

    本地获取数据并使用mellissa数据:

  • 对于ip:
  • 电话:

  • 您还可以使用memcache或APC缓存它们,这将加快缓存速度,因为他不必从api或数据库请求数据。

    有几个想法。。。如果相同的用户返回,将数据缓存到另一个表中会非常有用。。。您将只查找一次,并将其用于返回用户。在重读这个问题时,你似乎正在这样做


    另一种选择是在需要查找时生成新线程。对于每个请求,这可能是一个新线程,或者如果这不可行,您可以让n个服务线程准备好进行查找并更新结果。

    对于geodata,是的,您可以使用maxmind,但对于手机,我怀疑它