猿问

使用PHP大量采集数据,如何提高访问性能?

问题描述:
使用php开发的采集国外网站的数据,以便进行测试,数据保存为txt格式,存放在服务器上,当需要访问的时候,在使用php读取txt中的数据,并返回到用户。
当服务器运行一段时间以后,通过网址访问服务器上的资源时,打开速度挺卡的,刚开始的时候还不会。
注:
网址跟之前网站的是一样的,只是把顶级域名缓存我们自己的。
数据是触发采集的,第一次会远程采集数据到本地,并返回给用户,第二次才从本地读取。

问题:
1.即使数据量超多的时候,也能做到秒开呢
2.瓶颈在哪?内存还是IO
3.使用一段时间以后,打开速度会很卡,重启服务器后会好多了
4.如果将数据保存到MySQL数据库的时候,应该会更卡吧,目前是纯文本,只是访问的时候,在通过一个简单的路径匹配算法,使用php去读取文件,并返回给用户
5.有没有相关书籍可以学习下?
6.将PHP版本升级到php7,是否可以缓解?

慕田峪9158850
浏览 527回答 6
6回答

斯蒂芬大帝

卡是不是读取的文件很大

心有法竹

把文件切割呀,文件按日期进行存储

30秒到达战场

“在通过一个简单的路径匹配算法,使用php去读取文件,并返回给用户” -————是否可以通过url重写直接做成静态的

蓝山帝景

是不是PHP-FPM内存泄漏导致内存耗尽是不是这个注释没去掉,未设置每个php-fpm进程接受的请求数未设置进程就不会挂掉会不断的累积占用内存(一个请求退出会有部分信息留在进程中,最终导致内存耗尽) ;pm.max_requests = 500

慕婉清6462132

小文件太多了, 肯定卡,反而我觉得放数据库不会太卡,
随时随地看视频慕课网APP
我要回答