php-后端压缩/解压缩算法对感知到的客户端页面加载速度有显著影响吗?
我不确定这是否是这个问题的正确位置,所以如果这是错误的论坛,请不要太苛刻:) 我们公司正在寻求提高页面加载速度,到目前为止,我们已经做了很多标准的事情(使用缓存、CDN、删除任何不必要的代码/CSS、使用原始JS而不是jQuery等) 我在读gz压缩算法。其中一位撰稿人(robin)指出,php-后端压缩/解压缩算法对感知到的客户端页面加载速度有显著影响吗?,php,zlib,compression,Php,Zlib,Compression,我不确定这是否是这个问题的正确位置,所以如果这是错误的论坛,请不要太苛刻:) 我们公司正在寻求提高页面加载速度,到目前为止,我们已经做了很多标准的事情(使用缓存、CDN、删除任何不必要的代码/CSS、使用原始JS而不是jQuery等) 我在读gz压缩算法。其中一位撰稿人(robin)指出,gzdeflate()和gzcompress()的速度是相同的,但是gzexplate()的速度始终是gzuncompress()的两倍 如果我们使用这些Zlib函数之一压缩/解压静态HTML,我怀疑后端执行组
gzdeflate()
和gzcompress()
的速度是相同的,但是gzexplate()
的速度始终是gzuncompress()的两倍
如果我们使用这些Zlib函数之一压缩/解压静态HTML,我怀疑后端执行组件(整个页面加载过程的)甚至不会被用户注意到。但可能会注意到1MB的HTML被用作800kB的HTML
我的问题是:即使压缩/解压缩算法非常复杂,使用自定义压缩/解压缩算法执行后端脚本是否会对最终用户的页面加载速度产生任何影响?(许多函数调用,后端脚本本身是相当大的,大量使用不便宜的函数,如substr\u count()
,等等)。假设您已经在使用压缩/解压缩方法,我会说:不。
压缩率是相似的,您可以根据CPU使用情况选择算法,但回答这个问题时,一些额外的比特对于最终用户来说是不明显的。最昂贵的操作是“第一个字节的时间”(TTFB)
您可以在chrome开发工具中进行自己的基准测试,下面是一个
通过查看使用Google、Facebook、Twitter等大型网站的压缩类型来获取参考资料。PHP代码中发生的任何事情都不会影响页面压缩速度。据我所知,当启用压缩时,PHP会缓冲所有输出,并在将输出发送到客户端之前对其进行压缩。唯一能使实际压缩速度变慢的是增加要压缩的字节数。我对标题的不好…是指客户端而不是客户端大小:)@Mike所以如果你有一些神奇的方法将1MB文件压缩到10字节,但它需要一个脚本,需要1秒才能执行(极端示例,但试图说明一点)用户不会在页面加载速度中注意到这一点?如果理论上可以将1MB压缩到10字节,用户可能不会注意到总体情况,因为下载1MB文件可能至少需要1秒的时间。但是,如果你在页面加载速度上增加1秒来节省几KB,那么人们就会开始注意到这一点。但这也是理论上的。您的页面几乎永远不会有1MB的HTML(如果有,可能是出了问题),您也无法将1MB压缩到10个字节。