我们已经在GCP虚拟机上部署了我们的网站,并在虚拟机前面启用了GCP CDN。当我们浏览网站时,在大多数情况下,GCP CDN会向Origin VM发出请求。
我正在使用下面的堆栈驱动程序查询来检查缓存命中。
resource.type="http_load_balancer"
resource.labels.forwarding_rule_name="rule_name"
httpRequest.serverIp="gcpvmip"
httpRequest.requestUrl="request_url"
httpRequest.cacheFillBytes > 0
发布于 2019-01-04 07:34:40
我很清楚问题出在哪。GCP CDN没有原点屏蔽功能。更糟糕的是,使用GCP,几乎每个请求都来自它在世界各地的海量CDN PoPs中的不同一个。如果没有Origin Shield,您的app服务器就是源站,它必须填满每个CDN边缘点的缓存。
根据我的经验,您应该只将GCP CDN用于DOS保护&缓存和提高HTML请求的TTFB性能(特别是为了卸载SSL握手)。使用另一个CDN缓存其他资产,缓存/命中率更高。
部分CDN提供商提供Origin Shield,有助于提高缓存命中率。例如,使用具有原始屏蔽功能的内容分发网络提供商创建cdn.yourdomain.com,并从那里提供所有其他静态内容。
我知道把CDN放在你的CDN前面听起来很疯狂,但相信我,它工作起来很神奇,如果你选择一个带宽收费更低的CDN,你甚至可以省钱。此外,GCP CDN只缓存10MB以下的内容。
https://stackoverflow.com/questions/50642464
复制相似问题