批量抓取数据容易遇到的瓶颈

php数据采集抓取
1. 常用函数:curl, file_get_contents
2. 抓取图片
返回内容存储到图片文件 file_put_contents
 
3. 防屏蔽
设置ip,user_agent
sleep 延迟,降低抓取频率
 
大数据量采集
4. 并发
利用消息队列,例如 httpsqs
多进程
 
5. 内存瓶颈
php脚本变量未及时释放
php适度设置 mem_limit
多个进程
 
6. linux文件缓存问题
root权限
sync && echo 3 > /proc/sys/vm/drop_caches
 
7. 带宽瓶颈
上传
下载
 
8. mysql连接次数瓶颈
多台机器多个mysql,各自存储,周期性同步到主机
 
9. 瓶颈测试
针对可能的瓶颈测试找出
木桶短板理论
 
10. 记录抓取日志
 
 
x. 阿里云
可以使用内网ip
 
多进程抓取
http://www.epooll.com/archives/806/

你可能感兴趣的:(数据)