0

我目前正在运行 Umbraco 4.7.1.1。我正在设置一个基于 NAS 的负载平衡环境,我想知道是否需要设置一个“TEMP”虚拟目录,请参阅*Reference来处理 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 缓存文件也应该是唯一的,以限制文件锁定的任何问题。

使用虚拟目录配置临时文件

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

2 回答 2

0

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

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

如果您注意到这与使用虚拟目录之间的性能存在显着差异,可能是因为您没有对该HttpRuntime.CodegenDir目录的写入权限(因此发生的情况是该站点每次都在访问数据库以获取其内容)。

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

于 2013-09-15T11:24:52.233 回答
0

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

于 2014-01-16T15:35:20.470 回答