4

我们计划在客户的 Sitecore 安装中引入 DMS。它在我们国家是一个相当受欢迎的网站,我们必须使用代理缓存服务器(在这种情况下是 Nginx)来使其具有高流量证明。

然而,据我们所知,不可能在启用缓存代理的情况下使用所有 DMS 功能 - 例如内容的个性化 - 如果它被缓存,它将不会被个性化。

有没有办法在启用代理缓存的情况下使用所有 DMS 功能?如果不是,您如何处理高流量站点的这个问题 - 是购买更多的 Content Delivery 服务器来承载负载,还是使用更好的硬件(RAM、CPU、带宽)扩展当前服务器?

4

3 回答 3

1

我也无法成功地同时使用代理服务器缓存和 DMS。对于极高的负载,我建议客户遵循标准的优化和扩展指南,尤其是为尽可能多的站点构建适当的 Sitecore 子布局和布局缓存。完成缓存后,通过负载均衡分布在多个内容交付节点上进行跟进,以帮助同时支持大容量和个性化。

我听说其他具有个性化功能的 CMS 使用 javascript 方法在客户端加载个性化内容,但我担心会丢失在加载个性化内容并与之交互时收集的分析数据的跟踪。

于 2013-05-21T13:12:37.193 回答
1

我自己一直在想这个。

我一直在考虑实现一个 ajax Web 服务: - 与 DMS 对话并返回 JSON - 允许您在客户端呈现个性化组件 - 允许您触发分析事件

我一直在谷歌搜索,我还没有找到任何人已经这样做并发布了信息。我发现类似的唯一地方实际上是在移动 sdk 中,但我还没有机会深入研究它。

于 2013-05-20T22:07:45.467 回答
1

您可能会尝试从您的代理缓存中移除某些页面,甚至全部页面。

  • 没有理由不将 CDN 用于静态资产和媒体库资产,所以坚持下去
  • 利用 Sitecore 的内置 html 缓存进行子布局/渲染 - 有很多缓存选项
  • 使用 Sitecore 的调试功能来跟踪您网站上最慢的组件
  • 考虑使用索引而不是“快速”或 Sitecore 查询
  • Don't do descendants query "//*" (我在为导航计算选中状态时经常看到这个 - 提示:反过来,计算当前页面的祖先)

@jammykam在这里写了一个很好的答案

约翰韦斯特也写了一篇很棒的博客文章,虽然有点老。

祝你好运!

于 2013-05-20T23:41:51.070 回答