个人在虚拟机centos7,单核,1g内存
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
|
当$total=10000,$num = 10;执行结果如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
当$total=10000,$num = 100时,执行结果如下:
1 2 3 4 5 6 7 8 |
|
当$total=10000,$num = 1000时,执行结果如下:
1 2 3 4 5 6 7 8 9 10 |
|
当$total=100000 ,$num=100时,十万条记录,100个进程插入
立即学习“PHP免费学习笔记(深入)”;
1 2 3 4 5 6 7 8 9 10 |
|
单进程插入1万条数据,耗时18秒,相对10个进程插入1万记录来说,耗时少些。
而单进程插入10万条记录,耗时187.40066790581,相对来说,是挺慢的了。三分钟。。。
不过,本人再fork 1000个进程,来插入10万记录时,成功的情况下36秒左右,也可能会出现错误,mysqli_connection返回false,是不是连接数受限制了?
fork 一万个子进程,插入一百万数据,这时,出现连接错的情况就很多了。最后耗时360秒,数据表中插入了945300条记录,成功率94.53%。于是查看数据库的相关配置信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
|
并发量大的时候,问题就出在了连接mysql这里。
可以通过一个连接池来尝试解决该问题。
个人在虚拟机centos7,单核,1g内存
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
|
当$total=10000,$num = 10;执行结果如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
当$total=10000,$num = 100时,执行结果如下:
1 2 3 4 5 6 7 8 |
|
当$total=10000,$num = 1000时,执行结果如下:
1 2 3 4 5 6 7 8 9 10 |
|
当$total=100000 ,$num=100时,十万条记录,100个进程插入
立即学习“PHP免费学习笔记(深入)”;
1 2 3 4 5 6 7 8 9 10 |
|
单进程插入1万条数据,耗时18秒,相对10个进程插入1万记录来说,耗时少些。
而单进程插入10万条记录,耗时187.40066790581,相对来说,是挺慢的了。三分钟。。。
不过,本人再fork 1000个进程,来插入10万记录时,成功的情况下36秒左右,也可能会出现错误,mysqli_connection返回false,是不是连接数受限制了?
fork 一万个子进程,插入一百万数据,这时,出现连接错的情况就很多了。最后耗时360秒,数据表中插入了945300条记录,成功率94.53%。于是查看数据库的相关配置信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
|
并发量大的时候,问题就出在了连接mysql这里。
可以通过一个连接池来尝试解决该问题。
以上就是php多进程插入数据的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号