如何在Umbraco中配置基于NAS的负载均衡环境?

时间:2013-09-12 14:26:57

标签: iis umbraco load-balancing nas

我目前正在运行Umbraco 4.7.1.1。我正在设置基于NAS的负载均衡环境,我想知道是否需要设置“TEMP”虚拟目录,请参阅 *参考,以便在ADDITION中处理ClientDependency和ExamineIndexes文件设置<add key="umbracoContentXMLUseLocalTemp" value="true" />

我理解umbracoContentXMLUseLocalTemp = true告诉逻辑在单个服务器本地的ASP.Net临时文件夹中放置/使用umbraco.config文件。如果我只有umbracoContentXMLUseLocalTemp = true,我一直在遇到性能问题。当我有虚拟目录时,问题似乎消失了(页面加载速度是原来的两倍)。我开始倾向于不使用umbracoContentXMLUseLocalTemp = true并使用<add key="umbracoContentXML" value="~/App_Data/TEMP/umbraco.config" />将所有内容存储在虚拟目录中。我宁愿不必使用虚拟目录。

我开始使用:http://our.umbraco.org/wiki/install-and-setup/installing-umbraco-for-load-balanced-environments设置我的负载均衡环境,该环境现在包含一个将您重定向到http://our.umbraco.org/documentation/Installation/load-balancing的链接。本文档似乎表明,如果我使用带文件复制的文件存储,我可以选择使用虚拟目录。它似乎表明umbracoContentXMLUseLocalTemp = true就是你需要用于NAS的文件存储。

我认为http://our.umbraco.org/wiki/install-and-setup/installing-umbraco-for-load-balanced-environments曾经包含与此相同的内容:http://our.sandbox.umbraco.org/wiki/install-and-setup/installing-umbraco-for-load-balanced-environments。该文档似乎表明您需要有一个虚拟目录,但它甚至没有引用umbracoContentXMLUseLocalTemp

-----------------------------

*参考

除了启用上面的分布式调用之外,还有一些其他项目也应该修改。每个服务器都需要/ App_Data / TEMP目录的唯一副本,以便检查和客户端依赖关系缓存正常工作。此外,umbraco.config xml缓存文件也应该是唯一的,以限制文件锁定的任何问题。

使用虚拟目录配置Temp文件

  1. 修改 /web.config 并更改 umbracoContentXML 以使用〜/ App_Data / TEMP / umbraco.config
  2. / App_Data / TEMP 目录复制到任何复制区域之外的每个服务器或每个服务器的唯一文件夹。
  3. / App_Data 文件夹中创建虚拟目录(不是虚拟应用程序),并将其命名为 TEMP 。将虚拟目录指向您在步骤2中创建的文件夹。
  4. 如果您愿意,可以从文件系统中删除 / App_Data / TEMP 文件夹(不是IIS,因为这可能会删除虚拟目录)。

2 个答案:

答案 0 :(得分:0)

使用NAS的全部意义在于您不一定需要虚拟目录。 CMS的所有实例都有一个共享文件存储库。因为所有内容都存储在一个地方,所以您不需要文件复制,但您必须确保后台只能访问它。

例外是umbraco.config。每个实例都需要存在此文件,因此您必须设置umbracoContentXMLUseLocalTemp = true。这允许在HttpRuntime.CodegenDir目录(ASP.NET存储临时文件的目录)中创建umbraco.config文件。

如果您注意到它与使用虚拟目录而不是之间的性能存在显着差异,可能是因为您没有HttpRuntime.CodegenDir目录的写权限(那么正在发生的是网站每次都在访问数据库中的内容。

首先检查这些权限,因为此选项应该与使用虚拟目录一样快,并且维护更少。

答案 1 :(得分:0)

我最终使用DFS复制而不是NAS解决方案。