在PHP中迭代MASSIVE CSV文件的最佳实践

开发技术 作者: 2024-07-09 12:25:02
好的,我会尽量保持这个简短,甜蜜和重点. 我们通过将MASSIVE CSV文件上传到基于PHP的CMS,对我们的系统进行了大量的GeoIP更新.这件事通常有超过100k的IP地址信息记录.现在,简单地导入这些数据根本不是问题,但是我们必须对当前的区域IP地址映射运行检查. 这意味着我们必须验证数据,比较和拆分重叠的IP地址等.并且必须对每条记录进行这些检查. 不仅如此,我还创建了一个字段映射解决方
好的,我会尽量保持这个简短,甜蜜和重点.

我们通过将MASSIVE CSV文件上传到基于PHP的CMS,对我们的系统进行了大量的GeoIP更新.这件事通常有超过100k的IP地址信息记录.现在,简单地导入这些数据根本不是问题,但是我们必须对当前的区域IP地址映射运行检查.

这意味着我们必须验证数据,比较和拆分重叠的IP地址等.并且必须对每条记录进行这些检查.

不仅如此,我还创建了一个字段映射解决方案,允许其他供应商以不同的格式实现其GeoIP更新.这是通过将规则应用于CSV更新中的IP记录来完成的.

例如,规则可能如下所示:

如果’countryName’==’澳大利亚’然后发送到’澳大利亚IP池’

可能存在多个必须运行的规则,并且每个IP记录必须全部应用它们.例如,根据10条规则检查的100k记录将是100万次迭代;不好玩.

我们发现100条记录的2条规则最多需要10分钟来处理.我完全清楚这里的瓶颈是成功导入必须发生的剪切迭代量;只是没有充分意识到我们可能需要加快一些其他选择.

有人建议将文件拆分为服务器端的块.我不认为这是一个可行的解决方案,因为它为已经很复杂的系统增加了另一层复杂性.必须打开,解析和拆分该文件.然后脚本也必须遍历块.

所以,问题是,考虑到我刚刚写的内容,最好的方法是什么才能加快这个过程?不幸的是,升级服务器的硬件JUST对于这个工具不是一个选择,但它们是非常高端的盒子.

不像我想的那么短,但是. HALPS?

原创声明
本站部分文章基于互联网的整理,我们会把真正“有用/优质”的文章整理提供给各位开发者。本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
本文链接:http://www.jiecseo.com/news/show_41317.html