4

我们计划将DMS引入我们客户的Sitecore安装。这是一个在我们国家很受欢迎的网站,我们必须使用代理缓存服务器(这是Nginx在这种情况下),以使其具有很高的流量抵御能力。DMS与缓存服务器的Sitecore - 你如何处理它?

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

有没有一种方法可以利用代理缓存处于打开状态的所有DMS功能?如果没有,那么如何处理高流量网站的这个问题 - 是购买更多Content Delivery服务器来承载负载,还是使用更好的硬件(RAM,CPU,带宽)来扩展当前的服务器?

+0

伟大的问题。 –

+0

伙计们,谢谢大家的回答,我会检查你的建议。其中有些是我们自己发现的,但我相信其中很多会有所帮助。 – cand

回答

1

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

  • 没有理由不使用CDN静态资产和媒体库资产,因此与
  • 杠杆坚持Sitecore的内置HTML缓存sublayouts /效果图 - 有缓存
  • 相当多的选择
  • 使用Sitecore的调试功能来跟踪最慢的组件在您的网站
  • 考虑使用索引,而不是做“快”或Sitecore的查询
  • 不要做后人查询“// *”(我经常看到这个时计算选定的导航状态 - 提示:换个方式,计算当前页面的祖先)

@jammykam写了excellent answer on this over here

约翰韦斯特写道a great blog post on this also,虽然有点老。

祝你好运!

1

我一直在想这个。

我一直在想实现一个Ajax的Web服务,它的: - 会谈到DMS,并返回JSON - 让你呈现个性化的组件客户端 - 允许你触发anlaytics事件

我有一直在搜索,我还没有找到任何人做了它,并发布了信息。我发现的唯一类似的东西实际上是在移动SDK中,但我还没有机会深入研究它。

1

我也无法成功地使用代理服务器缓存和DMS。对于极高的负载,我建议客户遵循标准的优化和缩放准则,尤其是为尽可能多的站点设计适当的Sitecore子布局和布局缓存。随着缓存的完成,通过跨多个Content Delivery节点分布负载平衡来跟踪它,以便同时支持个性化的高容量。

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