各位大佬是否有遇到浏览器打开php页面,当先打开的页面加载缓慢,后打开的页面需要等前面的响应了才显示。

环境用的Ubuntu,Nginx+php5.6
做了测试代码

# test.php
<?php
$start = microtime(true);
sleep(60);
$end = microtime(true);
echo $end - $start;
?>

先打开test.php页面,立马把上面代码sleep时间改成6s,再新开一个窗口访问test.php,此时会发现第二次打开的页面也一直在加载中。当第一次打开的test.php执行完后,第二次打开的页面也加载完了,此时会发现,第一次打开的页面执行时间在60s,第二次打开的30s,远远大于sleep(6)。有大佬清楚这是为啥不。

阅读 2k
2 个回答

经过测试,并没有出现这种情况,你在测试的时候空闲的fpm进程有多少个呢,一个请求会占用一个fpm进程,如果fpm进程都被用完了,则需要等待。

除了楼上说的这种情况会出现阻塞,还有一种就是session锁的问题。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题