Blogger Information
Blog 5
fans 0
comment 0
visits 3255
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
php跑大数据脚本心得​
Wuy丶
Original
726 people have browsed it

数据量少时,跑的很6的php,在处理相似问题数据量大时可能会出现各种“奇奇怪怪的问题“,脚本莫名中断被kill....数据两天还没跑完...本地正常,线上执行数据库资源就告警,让你怀疑人生...感觉写好的脚本,同事让你小改,突然没勇气执行...下面对php跑大数据脚本心得分读和写做了总结。

php跑大数据脚本心得之读:

注意事项:

excel数据做保存时要对数据一次性做保存,切忌生成一条数据做一次save(这样excel文件上啦300k就非常慢)。

excel数据存入六万条后存入就容易出问题,请注意!!这种大的id:149265475207848770  请在前面加个符号做字符型,int型尾缀会自动变为0

数据量过大,命令行执行请用上nohup在后台运行,避免意外中断。 

建议 

每获取6W条数据,以便保存进文件。并清除对象数据。(也可以避免出错拿不到一条数据)。 

生成脚本过程中可以用memory_get_usage()   microtime() 跟踪数据存入日志便于及时定位其他问题。 

如果非常急的获取数据,可结合$argv分段上运行脚本。 

为提高速度可以开多个进程。存在范围查询时可以 间断的获取数据如设置1000:**>=20000  && **< 21000 。  下次查询便是**>=21000  && **< 22000  避免数据量过大程序直接被kill.     


php跑大数据脚本心得之写:

开发时:

不要使用try catch 。写的脚本死了,或者一到五条出错就停掉,置之不理担心滚雪球!!

执行开启相关的log检测问题。

本地导一份线上的备库,全真模拟一遍。

注意sleep()  

关注mysql.log 出现了哪些写操作!    

review 代码:同事/导师/主管review代码 降低风险!  

上线前:

备份改动处相关数据(万一有问题能挽回损失)  

准备好相应sql ,关注修改是否符合业务逻辑!  

线上执行:

执行开启相关的log检测问题,有问题立即停止运行。 

关注相关服务的性能监控! 

执行准备好的sql,看修改是否符合业务逻辑!

有(可疑)问题及时停止脚本 止损!!!     

Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!