最近在用PHP做一个团购导航网站,现在遇到性能问题现在网站收录近300个团购网站API,每次数据采集时需要花近30分钟(每采集一个网站sleep 秒钟),在采集过程中,MYSQL服务器响应速度非常慢,以致于访问团购导航网站也变慢。PHP采集使用的是 php DOMDocument解析的,通过LINUX定时任务,每45分钟更新一次所有团购网数据,主要更新已卖商品数。各位有没有好的建议 

解决方案 »

  1.   

    第一种办法:用某种支持多线程的语言来做。
    第二种,将那300个网站划分成N个任务,然后生成[300/N]或[300/N]+1个PHP文件,里面包含一些关于分组网站的数据,然后用CRON,同时进行这N个任务就可以了
      

  2.   

    to  snmr_com团购网没有盈利,公司暂时也只有一台服务器
      

  3.   

    个人觉得,更大可能是相关代码问题
    这么个简单的采集,就能让数据库变慢,具体慢在哪???狂占CPU资源?还是数据库链接,都是可能的
      

  4.   

    首先分析log, 找到慢在什么地方....什么原因....
      

  5.   

    to bear63方维网团购就是这样做的,他专做了一个客户端采集
    http://dh.fanwe.com/index.php?m=GroupNav&a=index&试想一下,一个API有数据300条,用PHP 的DOMDocument解析并装入数据库,各位写PHP大概需要多少时间能将所有数据装入数据库(插入数据库前要查询数据库这条记录有没有被写入数据库,已写入的话就更新)
    API如下
    http://open.client.lashou.com/v1/hao123
      

  6.   

    可以先采集,采集的时候生成SQL语句,采集完成之后再一次导入到数据库中!