使用Apache和MySQL进行php输出缓冲的性能影响

我对PHP缓冲如何工作有点困惑.

假设你在PHP.ini中有一个PHP页面foo.PHP和output_buffering = 4096,Apache收到foo.PHP的get请求. foo.PHP开始执行,一旦准备好4096个字节,它们就会被发送到Apache. Apache开始向客户端发送这4096个字节.

这是我不明白的:当有一些讨厌的跟踪器标注,javascript或发送到浏览器的图像时会发生什么.浏览器被挂断了,并且暂时没有回到Apache,并坚持下去. Apache没有发布MySQL线程,它正在显示为“睡眠者”.这是正确的还是我完全不在这里

解决方法:

你完全离开了基地:)

what happens when there’s a some nasty tracker callout, a
javascript or an image that was sent to the browser

这不会影响服务器端的任何内容.

每个通过PHP运行的请求都会

>编译所需的PHP文件以进行选择代码(除非缓存是一个)
>执行PHP选择代码
>将PHP opt-code的字符串结果返回给浏览器

您正在谈论的缓冲发生在步骤2和3之间.因此,让我们采取您的方案.

>请求提供PHP URL
>编码选择代码
> PHP执行开始并开始返回html字符串
>创建一个缓慢加载img标记的字符串
>> PHP继续向apache提供输出>为图像(或javascript代码,或其他等)制作单独的http请求

这是单独的请求,在这里无能为力.所有PHP和Apache正在做的是将HTML返回给浏览器.此HTML可能会生成一个img或javasript标记,该标记将回调到同一个Web服务器,但这些请求将与为现有页面生成HTML的请求分开处理.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...