代码之家  ›  专栏  ›  技术社区  ›  Jim

SharePoint网站模板是否真的比网站定义效率低?

  •  5
  • Jim  · 技术社区  · 16 年前

    因此,在SharePoint博客圈中,似乎每个人都只是复制和粘贴来自其他博客的相同要点。我看到的一个要点是,SharePoint网站模板的效率低于网站定义,因为网站定义存储在文件系统中。这是真的吗?

    那么,网站模板效率低于网站定义的架构原因是什么?


    • 从…起 MSDN :由于在数据库中存储模板和从数据库中检索模板的速度较慢,因此网站模板可能会导致性能降低。
    • DevX :但是,SharePoint中的用户模板可能会导致性能问题,如果您试图为整个组织创建一组可重用模板,则可能不是最佳方法。
    • 从…起 IT Footprint :由于在数据库中存储模板和从数据库中检索模板的速度较慢,因此网站模板可能会导致性能降低。每次呈现页面时,都会编译和执行数据库中的模板。
    • Branding SharePoint :与自定义模板相比,自定义网站定义具有以下优势:

    至少,我认为上述文章是不完整的,根据我对SharePoint体系结构的了解,我认为有几篇文章具有误导性。

    我读了另一篇反对性能差异的博文,但我找不到链接。

    4 回复  |  直到 13 年前
        1
  •  4
  •   Daniel McPherson    16 年前

    使用站点模板与站点定义对性能的影响通常被夸大了。

    为什么?

    好吧,让我们举个例子:

    1. 您可以将其另存为新网站模板
    2. 然后基于此新网站模板创建新的子网站。

    你有什么?嗯,需要记住的重要一点是,“重影”发生在页面级别,而不是站点级别。由于您没有自定义任何页面,因此您访问的任何页面仍然直接来自站点定义,直接来自文件系统。

    第一次测试

    1. 尝试在原始站点定义中修改default.aspx页面。
    2. 检查你的网站模板,注意你看到的修改。
    3. 它仍然被“重影”到文件系统

    第二次测试

    1. 创建新的站点定义。
    2. 创建新的网站模板
    3. 将网站模板发送给SharePoint的合作伙伴,并要求他们基于该模板创建新的子网站。

    它将失败。为什么?因为他们的计算机上不存在站点定义。

    因此,回到您的问题,“SharePoint网站模板的性能真的不如网站定义吗?”我的回答是:“性能考虑不应该在您决定使用网站定义或网站模板时起作用,您的功能目标应该是”。现在它引起了争议,但对我来说,选择网站定义而不是创建功能的理由非常少。

    自2003年起,产品中就出现了重影(可能是在STS之前,我不记得了),我从未见过关于它对性能影响的官方指导,也没有任何人在“它更慢”的评论之外猜测。

    这让我相信这并不是真的担心。“重影”页面更令人担忧的是维护它们带来的困难,但对于2007和MasterPage,这是一个小得多的问题。

        2
  •  2
  •   Anders Rask    16 年前

    取消主机托管的问题与其说是性能问题,不如说是升级问题。

        3
  •  1
  •   dstetsenko    16 年前

    站点定义的性能更高,因为它们缓存在文件系统中,无论模板是否存储在数据库中,并且每次呈现页面时都必须编译和执行。此外,与基于现有站点模板的模板不同,自定义站点定义是独立于升级的。

    在本文中,还可以很好地概括出其他差异 this blog post this updated one .

        4
  •  0
  •   Nat    16 年前

    这里的问题称为重影。现成的SharePoint网站在SharePoint网站的12个配置单元中存储许多文件(包括母版页和页面布局)。当请求这些文件时,SharePoint足够智能,可以执行磁盘读取操作。

    可以在这些页面上“取消重影”。本质上,创建对存储在SharePoint conent数据库中而不是文件系统中的页面的修改。对未重影页面的请求将导致数据库往返(从数据库中选择、返回文件字节等)。这必然会导致大量的额外工作。当您谈论100或1000个用户访问该站点时,这种数据库往返将成为一个性能问题。

    因此,对于大量使用的网站,SharePoint自定义网站定义将希望在web服务器文件系统中存储尽可能多的文件(并从所有其他内容中缓存…)。站点定义不一定存储在文件系统中,但该过程(除了更加复杂)对任何自定义项的存储位置提供了更多的控制。

    两个博客讨论这个问题的一个例子。 http://itfootprint.wordpress.com/2007/04/18/sharepoint-site-template-vs-site-definition/ http://my.advisor.com/doc/17614

    推荐文章