gpt4 book ai didi

php - PHP5 服务器的带宽提速技巧 : Output and Zlib Compression

转载 作者:可可西里 更新时间:2023-10-31 22:48:11 25 4
gpt4 key购买 nike

在设置 PHP 带宽节省体验到的有效速度增益 时,我有一些关于 htaccess 中设置的性质的详细、专业的问题:

请允许我提前感谢您对此事的回答和澄清,因为我不理解百科全书式的长页 apache 手册

下面的例子是在我的 Apache 2.0 和 PHP 5.2.3 上实际运行的

# preserve bandwidth for PHP enabled servers
<ifmodule mod_php4.c>
php_value zlib.output_compression 16386
</ifmodule>

.

Q1: ifmodule mod_php4.c 是否表明它适用于 PHP 4 而不是 PHP5?

Q2:服务器引擎在 php.ini 而不是 htaccess 中有这个会更快吗?

Q3:压缩默认设置为 16386。如果我们将它降低到例如 4K

会发生什么

Q4:如果我们将它设置得更高会发生什么,例如128K ?

最佳答案

Q1: Does ifmodule mod_php4.c suggest that its for PHP 4 and not PHP5?

是的。 运行。除非您的脚本在 PHP5 下会中断,否则没有理由继续安装 PHP4。

Q2: Would it be faster for the server engine to have this in php.ini, instead of htaccess?

除了 Apache 启动期间的一些操作码外,一点都不重要。意思是,不......除非 .htaccess 文件不存在,在这种情况下,当 Apache 找到该文件时,性能可能会受到很小的影响。 (更少的 .htaccess 文件 => 减少不必要的 stat 调用 => 更快的一切性能。)

Q3: The compression is default set to 16386. What happens if we lower it to, say, 4K

This is the size of the buffer for the output .如果将其降低到 4k,数据将稍微更快地发送。根据页面的平均大小,这可能意味着数据可能需要以多个 block 的形式发送,这对于获取数据的用户来说可能是一个非常小的性能下降。

Q4: What would happen if we set it higher, e.g. 128K ?

这意味着在数据发送到客户端之前会发生 128k 的缓冲。如果您的页面在压缩后超过 128k,则可能有问题

setting up PHP bandwith savings and the effective speed gain experienced:

不久前,人们开始建议不要使用PHP 内置的gzip,建议Apache's mod_deflate反而。这让 PHP 只关心生成 HTML,而让 Apache 担心压缩和提供它。它也有同样的效果。虽然 mod_deflate 的手册页是百科全书式的,但它也简单明了。您可能已经有了它,只是在您的 httpd.conf 中没有使用所需的行。

因为它可以在“过滤器”级别运行,使用它还意味着任何生成压缩的 MIME 类型,包括 CGI 脚本和普通的旧 HTML 文件都可以自动压缩。


更新评论的答案:

Do I read on & inbetween the lines correctly that you suggest me to remove the block A and have only block B in place as seen here

这通常是正确的,尽管您拥有的配置 block 目前是按扩展名定位文件。相反,您可以使用 AddOutputFilterByType 配置指令按 MIME 类型定位,如 mod_deflate 手册中所述。

删除 PHP 配置时,还要检查系统上的 php.ini,因为它可能包含您可能不需要的压缩指令。

无论您使用什么方法打开 mod_deflate,Apache 都不会加倍 gzip 内容。

what would be the proper way to change the block A to make it most compatible with PHP5?

这取决于您的系统调用的 mod_php 的 5.x 版本。它将只是普通的旧常规 mod_php 或 mod_php5。在 httpd.conf(或/etc/httpd/conf.d/*.conf)的其他地方寻找 LoadModule 指令。

实际配置指令是正确的,它只是包含在“仅在加载 PHP4 时执行此操作” block 中。

假设您的 5.x mod_php 名​​为 mod_not_butter。如果是这种情况,该 block 将如下所示:

<IfModule mod_not_butter.c>
php_value suckitude_factor -1
</IfModule>

I wonder what other options I might have to customize/speed up my mod_deflate APACHE gzip processing

有很多选择。除了缓冲区大小 ( DeflateBufferSize ),不要触摸它们中的任何,您应该将缓冲区大小设置为您期望的平均未压缩数据大小。 (我之前记错了缓冲区是在压缩之后,而实际上是在压缩之前。)

所有其他选项都是合理的默认值,您无需更改,因为到更改它们实际上会以有意义的方式影响性能时,您会希望涉及其他技术来减轻 Apache 的负载.

关于php - PHP5 服务器的带宽提速技巧 : Output and Zlib Compression,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5412792/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com