Maison > Article > développement back-end > 服务器下的程序会用curl进行一次网络请求,请教怎么解决整个网站卡的有关问题
服务器上的程序会用curl进行一次网络请求,请问如何解决整个网站卡的问题?
上一贴没说清楚,重新说一下。
a.php b.php c.php 三个页面。
打开a.php页页后。
a.php会用ajax请求b.php。
b.php里面用curl进行数据采集。比如采集zhidao.baidu.com/xx.html
如果这个时候baidu.com反映慢。curl不能很快完成这次请求。那么。整个网站就会卡住。这个时候打开a.php c.php都会卡在那里直到那个ajax请求完成。
请问有何良方?
现在我在写一个类似只看楼主功能的东西。模式差不多,
www.onlylz.com 貌似他的并没有此起整个网站卡
------解决方案--------------------
CURLOPT_TIMEOUT,设置超时时间?
非阻塞?
http://blog.csdn.net/linvo/article/details/5956629
------解决方案--------------------
那个ajax请求完成。可以设置成异步方式。
采集数据如果没有特殊要求,可以定时采集,入库。然后在获取
------解决方案--------------------
这个时候打开a.php c.php都会卡在那里直到那个ajax请求完成。
你是用的什么浏览器? 什么服务器系统?
对浏览器来说,每个请求都是不相关的,没有同一时间只能发起一个请求的说法。
对服务器来说,为每个请求分配的资源都是独立的,没有同一时间只能处理一个请求的说法。
因而如果造成阻塞,只能是程序自作孽,比如PHP中session的文件锁。
如果你的网站的c.php a.php页面均启用了session,那么就会导致服务器其它进程一直等待文件锁释放,因而浏览器端长时间得不到响应。
如果如我所说,那么解决方法我想你也知道