PageSpeed Insights 是否绕过 Google CDN 缓存?
Is PageSpeed Insights bypassing Google CDN cache?
我们正在使用 Google Cloud Platform 来托管 WordPress 网站:
Google Load Balancer with CDN -> Instance Group with single VM -> Nginx + WordPress
从第 1 步(只有带有 WordPress 的 VM,没有缓存)到最后一步(使用 Load Balancer 和 CDN 的整个设置),当从我的浏览器和 GTmetrix 进行本地测试时,我可以逐渐看到改进。但是 PageSpeed Insights 始终没有什么改善。
现在我们为令人印象深刻的 98/97 score in GTmetrix 感到自豪(哇!),但 PSI 仍然显示我们相当平均,特别是在移动设备上(范围从 45-55)。
问题: 我们担心 Google 中的页面排名,因此我们也想让 PSI 满意。另外...我们的客户不会理解我们确实做出了改进,而 PSI 仍然显示该分数。
我正在挖掘并发现了一些关于 PSI 的奇怪事情:
- 当我们在 nginx 中调整
cache-control
时,它被本地浏览器和 GTmetrix 正确检测到,但是 PSI 中的 Serve static assets with an efficient cache policy 部分显示旧值几天。
- 首页有一个以 3 种格式(mp4、webm、ogv)托管的背景视频。客户端应该只请求其中一个(我的浏览器和 GTmetrix 都这样做),但 PSI 实际上请求了其中的 3 个。我可以在 避免巨大的网络负载 部分看到它们。
- 当客户端请求我们的主页时,只有
GET /
请求到达我们的后端服务器(这是预期的行为),其余静态资产由 CDN 提供。但是当从 PSI 进行测试时,所有请求都会到达我们的后端服务器。我可以在 nginx 访问日志中看到它们。
所以...这 3 点使我们在 PSI 中获得更差的分数(自从我们更改 cache-control
几天后,昨天第 1 点突然自行修复),但据我了解 none他们应该发生。还有什么我想念的吗?
在此先感谢那些可以阐明这一点的人。
但 PSI 仍然显示我们相当平均,特别是在移动设备上(范围从 45-55)。
PSI 默认会在模拟的节流连接上向您显示移动分数。如果您查看桌面选项卡,这与 GT Metrix 相当(它在引擎盖下使用相同的引擎 'Lighthouse' 而没有节流,因此会在桌面上给出类似的结果)。
很抱歉地告诉您,该网站的移动速度只是平均水平,请转到开发人员工具中的“性能”选项卡并在节流选项中启用 'Network:Fast 3G' 和 'CPU: 4x Slowdown' 进行测试。
此外,出于某种原因,该站点似乎 JavaScript 计算量很大,PSI 模拟速度较慢 CPU,因此这是另一个因素。一个脚本需要将近 1 秒的时间来评估。
在 PSI 中使用高效缓存策略提供静态资产显示了几天的旧值。
这很可能是配置问题,而不是 PSI 问题。 PSI 始终来自空缓存 运行s。也许由于某种原因在所有 CDN 上的推出速度很慢,而 PSI 是从不同的 CDN 向您请求的?
视频 - 但 PSI 实际上请求了其中的 3 个。我可以在避免巨大的网络负载部分看到它们。
不要将您在此处看到的内容与 Google 实际用于 运行 您的测试的内容混淆。这是与它可以下载的所有资产分开计算的,而不是基于通过在无头浏览器中加载页面计算的 运行 数据。
此外,这些资产对于桌面和移动设备是相同的,因此可能出于某种原因,它使用一种资产进行移动测试,另一种用于桌面测试。
无论哪种方式,它确实看起来像一个错误,但它不会影响您的分数,因为它是通过其他方式计算的。
所有请求都到达我们的后端服务器
那么这指向与第 1 点类似的问题 - 您确定您的 CDN 已完全部署吗?或者您为绕过您的 CDN 的特定用户代理/机器人规则设置了一些规则。机器人规则很可能需要更新。
你能做什么?
仔细检查您的配置、部署等。确保它已传播到所有 CDN 站点,并且所有 DNS 路由都按预期工作。
检查您是否没有为机器人设置规则,我注意到该站点是 'noindex' 所以也许您在测试干扰的东西时确实设置了一些东西。
运行 Google Chrome 中开发人员工具中的 'Audit' -> 这使用与 PSI 使用的引擎完全相同。这可能会给您带来更好的结果,因为它使用您的实际浏览器而不是无头浏览器。尽管对我来说这完全停止了视频加载,所以发生了一些奇怪的事情。
我们正在使用 Google Cloud Platform 来托管 WordPress 网站:
Google Load Balancer with CDN -> Instance Group with single VM -> Nginx + WordPress
从第 1 步(只有带有 WordPress 的 VM,没有缓存)到最后一步(使用 Load Balancer 和 CDN 的整个设置),当从我的浏览器和 GTmetrix 进行本地测试时,我可以逐渐看到改进。但是 PageSpeed Insights 始终没有什么改善。
现在我们为令人印象深刻的 98/97 score in GTmetrix 感到自豪(哇!),但 PSI 仍然显示我们相当平均,特别是在移动设备上(范围从 45-55)。
问题: 我们担心 Google 中的页面排名,因此我们也想让 PSI 满意。另外...我们的客户不会理解我们确实做出了改进,而 PSI 仍然显示该分数。
我正在挖掘并发现了一些关于 PSI 的奇怪事情:
- 当我们在 nginx 中调整
cache-control
时,它被本地浏览器和 GTmetrix 正确检测到,但是 PSI 中的 Serve static assets with an efficient cache policy 部分显示旧值几天。 - 首页有一个以 3 种格式(mp4、webm、ogv)托管的背景视频。客户端应该只请求其中一个(我的浏览器和 GTmetrix 都这样做),但 PSI 实际上请求了其中的 3 个。我可以在 避免巨大的网络负载 部分看到它们。
- 当客户端请求我们的主页时,只有
GET /
请求到达我们的后端服务器(这是预期的行为),其余静态资产由 CDN 提供。但是当从 PSI 进行测试时,所有请求都会到达我们的后端服务器。我可以在 nginx 访问日志中看到它们。
所以...这 3 点使我们在 PSI 中获得更差的分数(自从我们更改 cache-control
几天后,昨天第 1 点突然自行修复),但据我了解 none他们应该发生。还有什么我想念的吗?
在此先感谢那些可以阐明这一点的人。
但 PSI 仍然显示我们相当平均,特别是在移动设备上(范围从 45-55)。
PSI 默认会在模拟的节流连接上向您显示移动分数。如果您查看桌面选项卡,这与 GT Metrix 相当(它在引擎盖下使用相同的引擎 'Lighthouse' 而没有节流,因此会在桌面上给出类似的结果)。
很抱歉地告诉您,该网站的移动速度只是平均水平,请转到开发人员工具中的“性能”选项卡并在节流选项中启用 'Network:Fast 3G' 和 'CPU: 4x Slowdown' 进行测试。
此外,出于某种原因,该站点似乎 JavaScript 计算量很大,PSI 模拟速度较慢 CPU,因此这是另一个因素。一个脚本需要将近 1 秒的时间来评估。
在 PSI 中使用高效缓存策略提供静态资产显示了几天的旧值。
这很可能是配置问题,而不是 PSI 问题。 PSI 始终来自空缓存 运行s。也许由于某种原因在所有 CDN 上的推出速度很慢,而 PSI 是从不同的 CDN 向您请求的?
视频 - 但 PSI 实际上请求了其中的 3 个。我可以在避免巨大的网络负载部分看到它们。
不要将您在此处看到的内容与 Google 实际用于 运行 您的测试的内容混淆。这是与它可以下载的所有资产分开计算的,而不是基于通过在无头浏览器中加载页面计算的 运行 数据。
此外,这些资产对于桌面和移动设备是相同的,因此可能出于某种原因,它使用一种资产进行移动测试,另一种用于桌面测试。
无论哪种方式,它确实看起来像一个错误,但它不会影响您的分数,因为它是通过其他方式计算的。
所有请求都到达我们的后端服务器
那么这指向与第 1 点类似的问题 - 您确定您的 CDN 已完全部署吗?或者您为绕过您的 CDN 的特定用户代理/机器人规则设置了一些规则。机器人规则很可能需要更新。
你能做什么?
仔细检查您的配置、部署等。确保它已传播到所有 CDN 站点,并且所有 DNS 路由都按预期工作。
检查您是否没有为机器人设置规则,我注意到该站点是 'noindex' 所以也许您在测试干扰的东西时确实设置了一些东西。
运行 Google Chrome 中开发人员工具中的 'Audit' -> 这使用与 PSI 使用的引擎完全相同。这可能会给您带来更好的结果,因为它使用您的实际浏览器而不是无头浏览器。尽管对我来说这完全停止了视频加载,所以发生了一些奇怪的事情。