扫码关注官方订阅号
比如一个文件放着1万一个URL,然后有个PHp文件要读取这一万个URL,然后读URL把有邮箱全取出来, 那么问题就来了,一个文件处理这么多的话肯定慢死了,一个一个遍历一个一个读。 我意思是能不能读取到一个URL就开一个PHP进程单独处理,在读到一个在开一个PHP进程,这是我的思路,大神有好的办法吗?
并行发起多个URL请求,可以考虑通过curl_multi和pthreads来实现:http://php.net/manual/zh/function.curl-multi-init.phphttps://github.com/krakjoe/pthreads/blob/master/examples/SimpleWebRequ...
PHP 5.3 以上版本,使用pthreads PHP扩展,可以使PHP真正地支持多线程。多线程在处理重复性的循环任务,能够大大缩短程序执行时间。 参考下这里http://zyan.cc/pthreads/
开1w个进程操作进程在进程切换的时候会有很大的开销,性能不一定能达到预期,甚至操作系统崩溃也是有可能的,我理解你这个程序是不是爬虫之类的脚本,不是线上的服务?如果只是这种线下任务的话,其实有简单的方法,比如你可以用split命令将1w个url分成100个,然后用shell写个循环,开100个进程去执行
用计划任务吧,php xxx.php 每次处理10-20条, 然后用shell脚本,每秒处理一次 这样子的话,系统压力应该不大。又能够快速处理
php xxx.php
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
并行发起多个URL请求,可以考虑通过curl_multi和pthreads来实现:
http://php.net/manual/zh/function.curl-multi-init.php
https://github.com/krakjoe/pthreads/blob/master/examples/SimpleWebRequ...
PHP 5.3 以上版本,使用pthreads PHP扩展,可以使PHP真正地支持多线程。多线程在处理重复性的循环任务,能够大大缩短程序执行时间。
参考下这里http://zyan.cc/pthreads/
开1w个进程操作进程在进程切换的时候会有很大的开销,性能不一定能达到预期,甚至操作系统崩溃也是有可能的,我理解你这个程序是不是爬虫之类的脚本,不是线上的服务?如果只是这种线下任务的话,其实有简单的方法,比如你可以用split命令将1w个url分成100个,然后用shell写个循环,开100个进程去执行
用计划任务吧,
php xxx.php每次处理10-20条,然后用shell脚本,每秒处理一次
这样子的话,系统压力应该不大。又能够快速处理