使用Apache和MySQL进行php输出缓冲的性能影响
我对php缓冲的工作原理有点困惑 假设您在使用Apache和MySQL进行php输出缓冲的性能影响,php,mysql,performance,apache,Php,Mysql,Performance,Apache,我对php缓冲的工作原理有点困惑 假设您在php.ini中有一个php页面foo.php和output\u buffering=4096,Apache收到对foo.php的get请求foo.php开始执行,一旦4096字节就绪,它们就被发送到Apache。Apache开始将这些4096字节发送到客户端 我不明白的是:当有一个令人讨厌的跟踪器调用、一个javascript或一个发送到浏览器的图像时会发生什么。浏览器挂断了,并且有一段时间没有与Apache进行回复,只是挂断了。Apache并没有发布
php.ini
中有一个php页面foo.php
和output\u buffering=4096
,Apache收到对foo.php
的get请求foo.php
开始执行,一旦4096字节就绪,它们就被发送到Apache。Apache开始将这些4096字节发送到客户端
我不明白的是:当有一个令人讨厌的跟踪器调用、一个javascript或一个发送到浏览器的图像时会发生什么。浏览器挂断了,并且有一段时间没有与Apache进行回复,只是挂断了。Apache并没有发布MySQL线程,它显示为一个“睡眠者”。这是正确的还是我在这里完全不正确?从服务器下载HTML数据时,浏览器不会“挂起”。它会继续下载整个页面,即使它在实际显示任何页面之前等待JavaScript文件出现
当然,如果浏览器/服务器连接因某种原因中断,您可以让Apache在连接超时之前等待ACK,但这不是通常的情况。您完全偏离了基准:) 当出现令人讨厌的跟踪器呼叫时会发生什么 javascript或发送到浏览器的图像 这不会对服务器端造成任何影响 通过PHP运行的每个请求都将
- PHP继续向apache提供输出
- 对图像(或javascript代码,或其他任何内容)发出单独的http请求