【发布时间】:2013-09-12 14:26:56
【问题描述】:
我目前正在运行 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 缓存文件也应该是唯一的,以限制文件锁定的任何问题。
使用虚拟目录配置临时文件
- 编辑 /web.config 并将 umbracoContentXML 更改为使用 ~/App_Data/TEMP/umbraco.config。
- 将 /App_Data/TEMP 目录复制到每台服务器、任何复制区域之外或每台服务器的唯一文件夹。
- 在 /App_Data 文件夹中创建一个虚拟目录(不是虚拟应用程序),并将其命名为 TEMP。将虚拟目录指向您在第 2 步中创建的文件夹。
- 如果您愿意,可以从文件系统中删除 /App_Data/TEMP 文件夹(不是 IIS,因为这可能会删除虚拟目录)。
【问题讨论】:
-
你得到什么样的性能差异?当使用
umbracoContentXMLUseLocalTemp = true时,它们的页面是不是每次都是第一次启动?还是他们只是反应迟缓,使用虚拟目录更快? -
另外,您是在负载平衡域上运行测试,还是在单个服务器的单个非负载平衡子域上运行测试?
-
我正在单独调用每个服务器。我加载了同一个页面 10 次,然后我记录了接下来的 5 个页面加载。服务器 1(虚拟目录到位)0.33、0.35、0.36、0.35、0.36 服务器 2(无虚拟目录)2.04、2.10、1.08、2.06、2.14 服务器相同,但为了安全起见,我会尝试放置虚拟目录在另一台服务器上,我会回复我的发现。
-
我将虚拟目录放在服务器 2 上,然后将其从服务器 1 中删除。结果是我期望看到的。服务器 2 现在很快,服务器 1 现在很慢。
标签: iis umbraco load-balancing nas