【问题标题】:Maximum number of subsites in UmbracoUmbraco 中的最大子站点数
【发布时间】:2013-01-24 14:17:21
【问题描述】:

问题:

一些公司有 20 个站点,并希望在一个 CMS 实例中管理这些站点。
有许多可能的解决方案,但我正在研究的一个是具有 20 个子站点的单个 Umbraco 实例。

我只有 Sitecore 和 Sharepoint 的经验(数量如此之多)。

现在我的问题是;这在 Umbraco(最新版本)中表现如何?

有没有人有这个数量级的实际动手经验?
我个人对 Umbraco 的最大访问量是在中低流量网站上建立 3 个子网站。

【问题讨论】:

    标签: content-management-system umbraco


    【解决方案1】:

    我自己也为此苦苦挣扎。我在一次 Umbraco 安装中大约有十几个子站点,所以没有你那么多,但其中一个有一个产品部分,其中包含数千种产品的单独页面,所以总页面不少。

    性能对我来说很好,但这里有几件(在许多事情中)需要记住:

    1. razor / xslt 中的任何查询都必须针对最具体到最一般的目标编写。起初,我有一些查询正在获取所有“废话”页面。好吧,这将枚举整个站点以查找这些页面。如果是一个非常小的网站,它会被拥有 3000 多个产品页面的网站拖慢。所以你必须仔细定位一个特定的节点,然后从那里开始(在我的例子中,遍历节点树到“subsiteHome”页面,然后从那里获取所有类型为“blah”的子节点)。

    2. 以这种方式包含它们的全部目的是使维护更容易并在站点之间共享资产。好吧,如果您要向其中一个子站点添加一些新功能,并且它需要某个包的最新版本,那么您必须准备好更新使用该包的所有其他子站点。即它可以(取决于您的子站点的规模和复杂性)成为一种平衡行为。

    最后,我不认为安装有 20 个子站点(例如,每个 100 页)的 Umbraco 安装与具有 2000 个页面的单个站点有很大不同,但您必须小心查询/获取内容(通过 razor / xslt 查询),以及维护的好处是否真实。

    【讨论】:

    • 我现在通常尽量避免在剃须刀中进行任何非基本查询。我使用 MVC 模型并将树上的大多数查询委托给服务层。我使用基于请求缓存特定节点查询的核心服务,例如检索所有根节点、基于当前节点的根节点、按 id 的节点祖先等。这样,具有许多相关功能(例如新闻)的页面不必重新查询相同的节点或分支。
    【解决方案2】:

    在 Umbraco 界面本身内,站点越大越复杂,通常执行速度就越慢。我这么说纯粹是因为随着站点结构的增长,项目的复杂性可能会增加。情况并非总是如此,但我建立了一个多地区、多站点的站点,每个站点都有多种语言,虽然发布的站点运行良好,但界面往往表现不佳。话虽如此,我很想回去检查和修改我的代码!

    对数据库的访问是最严重的违规行为。通常,已发布的内容不必进行任何数据库调用,因为所有已发布的内容都已缓存。但是,当您创建宏、用户控件、视图、查询 Umbraco API 以检索 DocumentContentContentTypeDocumentTypeMedia 对象的数据类型时,您正在访问数据库。

    如果您在经常调用的代码中执行此操作,例如一个 HttpModule,那么您的性能将受到影响,无论是在已发布的站点还是在后台。显然,它有时是不可避免的,所以你必须小心,实现一些缓存是非常宝贵的。

    我还应该指出,当前的 Umbraco v6 处于测试阶段,并且已经修改了大规模实现 PetaPoco 的 API。虽然这不会减轻我们作为开发人员的编码错误,但它会使 API 比以前更流畅!

    【讨论】:

      【解决方案3】:

      我目前正在运行具有 +800 个站点和 +20.000 个内容节点的单个 Umbraco 安装,并且 Umbraco 运行良好,直到大约 200 个站点和 5.000 个节点,在那之后,我们开始在一些特定的后台任务中遇到奇怪的行为.前任。更改许多节点使用的文档类型,可能会导致一些不需要的前端效果,例如丢失内容等(请参阅此处http://allan-laustsen.blogspot.dk/2012/03/umbraco-no-node-exists-cmscontentxml.html 的更多信息) 但是我们已经修改了一些 Umbraco 的源代码,以便能够处理更多的节点和站点,并且到目前为止它运行顺利。所以我不知道“限制”是什么(还)

      【讨论】:

      • 只是好奇,但您为什么要运行这么多子站点?我的项目相当简单,该组织有 16 个部门,并且希望一个登录来统治所有部门,但是 +800 个站点对我来说似乎很多......
      • 我们有许多针对特定行业的“相似”站点,并且我们在所有站点中重复使用 100 多个模块,这包括 doctypes、dll、js、宏等。因为我们是在一个竞争非常激烈的行业,高度关注最终产品的价格,将它们作为单独的 Umbraco 安装是不可管理且具有成本效益的。我的估计是,通过更多的核心优化,我们可以在当前服务器上正确处理大约 4000 个站点,DB 和 Umbraco 的服务器负载不是问题。
      猜你喜欢
      • 2014-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-10
      • 2018-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多