PHP

php脚本加速

Posted by epimetheusQ on 2021-08-20

我们在执行php脚本时,如果存在上百万甚至上千万数据,单线程执行肯定时间很长,所以需要通过其他一些额外手段来进行为脚本加加速。

当我们使用php原生的脚本进行跑数据时,如果只开单个脚本,也就是一条线程,那么一百万条数据就需要执行100W次,如果我们通过某些参数进行加速,那么开10条线,就每一条脚本只需要耗费1/10的时间。

php原生包含两个参数,$argv$argc.创建一个a.php查看

1
2
3
4
5
6
7
<?php

print_r($argv);
print_r($argc);


?>

当我们执行脚本 php a.php 1 2 时,

第一个打印结果是一个数组包含两个参数

1
2
3
4
[
[0] => 1,
[1] => 2
];

$argc数量为:2

通过这种方式,我们可以在制定脚本时,将100w数据,划分10分,并行执行10次。如:

1
2
3
4
5
php a.php 0
php a.php 100000
php a.php 200000
php a.php 300000
....

系统内部使用sql,进行分割,确保执行没问题。