我对php缓冲的工作原理有点困惑。
假设你有一个名为foo.php
的php页面,且在php.ini
中设置了output_buffering = 4096
。当Apache接收到对foo.php
的get请求时,foo.php
开始执行,一旦准备好4096字节,它们就会被发送到Apache。Apache开始将这些4096字节发送给客户端。
这里是我不理解的地方:如果浏览器遇到了一些恶意的跟踪器调用、javascript或者发送到浏览器的图片,导致浏览器挂起了并且一段时间内没有向Apache回复,这会使Apache被阻塞。Apache没有释放MySQL线程,这会显示为“睡眠状态”。这个理解正确吗?还是我完全错了?