管理 CIS 部署,以获得最佳性能
IBM Cloud® Internet Services (CIS) 可为客户提供速度最快的体验,因为它会优化图像,并将 Web 内容存储在离最终用户尽可能最近的地方。 从通过代理传递的边缘服务器装入您的内容(这可降低延迟)。
通过 CIS,您可以使用最佳实践来加快 Web 内容的装入速度,从而进一步提高站点的性能。 以下是在 CIS 中提高 Web 内容性能的一些特定最佳实践。
建议和最佳实践:
- 尽可能多地高速缓存静态和半静态 Web 内容
- 对于事件驱动的内容,使用 API 清除高速缓存
最佳实践 1:尽可能多地高速缓存静态和半静态内容
- 针对静态 HTML Web 页面启用高速缓存所有内容
- 对偶尔更改的内容使用保守的生存时间(TTL)
对于偶尔更改的内容,利用保守 TTL(生存时间)
如果内容很少发生更改,那么您可以设置保守 TTL 从而尽可能多地利用高速缓存。 如果重新验证请求百分比较高,那么可增加内容的 TTL,而不会对客户造成负面影响。 通过更有效地使用高速缓存,可提高性能,因为会降低重新验证频率。
如何分辨项目是否在高速缓存中?
CIS 在尝试高速缓存对象时会添加响应头 CF-Cache-Status
。 如果高速缓存成功,那么此头的值将使用以下一个关键字来指示其状态:
- **MISS:**资产尚未在高速缓存中,或者 TTL 已到期(也就是,已达到高速缓存控制的最大时效 0)。
- **HIT:**已从高速缓存交付资产。
- 过期:此资产已从缓存中交付,但下一个请求需要重新验证。
- **REVALIDATED:**已从高速缓存交付资产。 TTL 已到期,但是对源的
If-Modified-Since
请求指示资产尚未更改。 因此,高速缓存中的版本再次被视为有效。
最佳实践 2:对于事件驱动内容,清除缓存
例如,每当您的博客添加新帖子时,您可以轻松清除 CIS 缓存。 通常情况下,我们会看到一些由活动驱动的内容,而 CIS 可以轻松确保您的用户不会看到过时的内容。 立即清除整个全球网络缓存的命令是:
- 清除所有文件
- 按前缀清除(仅限企业版)
- 按主机名清除(仅限企业版)
- 按标记清除(仅限企业版)
- 按 URL 清除
清除所有文件
您可以选择强制整个缓存重新生效。 您可以重置缓存中存储的所有对象,以便将每个请求路由到源服务器。
按前缀清除(仅限企业版)
企业计划用户可以通过 URL 中的 URL 前缀或路径分隔符来清除缓存。 例如,对 https://www.example.com/foo/bar/baz/qux.jpg
这样的 URL 的有效清除请求包括:
www.example.com/
www.example.com/foo/
www.example.com/foo/bar/
www.example.com/foo/bar/baz/
www.example.com/foo/bar/baz/qux.jpg
当你想清除一个目录中的所有内容,或加强对特定路径中缓存对象的控制时,按前缀清除就非常有用。 它还可以简化清除呼叫的次数。
按主机名清除(仅限企业版)
按主机名清除与按前缀清除类似。 使用主机名列表清除缓存中与这些主机名相关的任何资产。
按标记清除(仅限企业版)
标签可让您定义要清除的内容。 这是一种绝佳的方式,可以将通常一起发生更改的对象组合在一起。 例如,HTML格式的博客文章及其所有图片内容可以被标记在一起。 也可使用 cache-tag 将仅限移动设备的内容捆绑在一起,这样就可以在将新更新推送至移动域时清除所有内容。
按 URL 清除
通过 URL 进行清除后,缓存的资源会立即从您 Content Delivery Network (CDN)中所有数据中心的存储资产中删除。 对已清除资产的新请求会从您的原始网络服务器接收最新版本,并将其添加回提供请求的特定数据中心内的 CDN 缓存中。
使用高级高速缓存功能
**存在 Cookie 时绕过高速缓存:**在“页面规则”中配置此功能,那么只要不存在特定名称的 cookie,就可以提供高速缓存的对象。 例如,除非找到指示客户已登录的 SessionID
cookie,并且因此应显示个性化内容,否则可提供高速缓存版本的主页。