首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sitecore仅发布到两台服务器中的一台

Sitecore仅发布到两台服务器中的一台
EN

Stack Overflow用户
提问于 2011-05-09 23:41:33
回答 3查看 1.8K关注 0票数 1

我有问题的Sitecore (6.1.0)只发布一个项目到我们的两个web服务器之一。

不幸的是,我仍然是Sitecore的新手,还没有做过培训(尽管这应该很快就会发生!)所以我对Sitecore如何工作的了解是有限的(我也是这个项目的新手,所以还不熟悉它是如何设置的)。请容忍我,因为我确信我在我的问题中遗漏了一些显而易见的东西或遗漏了重要的信息。

基本上发生的事情是,客户试图发布一个项目,但无法在实时网站上看到它(他们试图发布至少两次)。我查看了web数据库,它就在那里,然后登录到两个web服务器,在那里我可以看到它在一个上工作,但在另一个上不行。我后来又发表了一次,然后我可以在两者上看到它,但我不确定这是否可能是巧合。据我所知,这种情况以前没有发生过,但我不能肯定。没有错误消息,我猜这可能是以前发生过,但他们的客户没有注意到,因为他们已经得到了它工作的服务器。

我想知道为什么会发生这样的事情,而且很明显,我想要阻止它在未来发生!如果有人有任何想法,我将不胜感激。

我检查了日志,这是我第一次发布的条目:

代码语言:javascript
复制
4764 11:15:07 INFO  AUDIT (sitecore\admin): Publish, languages:en, targets:Internet, databases:web, incremental:false, smart:true, republish:false, children:true
ManagedPoolThread #16 11:15:08 INFO  Job started: Publish
ManagedPoolThread #1 11:15:08 INFO  Job started: Publish to 'web'
ManagedPoolThread #1 11:15:08 INFO  HtmlCacheClearer clearing HTML caches for all sites (1).
ManagedPoolThread #1 11:15:08 INFO  HtmlCacheClearer done.
ManagedPoolThread #1 11:15:08 INFO  Staging server found: Web1
ManagedPoolThread #1 11:15:08 INFO  SourceDatabase: master
ManagedPoolThread #1 11:15:08 INFO  TargetDatabase: web
ManagedPoolThread #1 11:15:08 INFO  Staging server found: Web2
ManagedPoolThread #1 11:15:08 INFO  SourceDatabase: master
ManagedPoolThread #1 11:15:08 INFO  TargetDatabase: web
ManagedPoolThread #1 11:15:08 INFO  Job ended: Publish to 'web' (units processed: 2)
ManagedPoolThread #16 11:15:08 INFO  Job ended: Publish
ManagedPoolThread #14 11:15:10 INFO  Job started: Sitecore.Modules.Staging.StagingAgent
ManagedPoolThread #17 11:15:10 INFO  Starting update of index for the database 'master' (2 pending).
ManagedPoolThread #14 11:15:10 INFO  Partial cache cleared on Web1
ManagedPoolThread #14 11:15:10 INFO  Staging on server Web1 finished
ManagedPoolThread #17 11:15:10 INFO  Update of index for the database 'master' done.
ManagedPoolThread #14 11:15:10 INFO  Partial cache cleared on Web2
ManagedPoolThread #14 11:15:10 INFO  Staging on server Web2 finished
ManagedPoolThread #14 11:15:10 INFO  Job ended: Sitecore.Modules.Staging.StagingAgent

我还比较了Web1和Web2上的web.configs,它们是一样的。不确定下一步要检查什么。

更新:这来自web服务器上的日志文件。

没有显示页面的那个:

代码语言:javascript
复制
2180 11:15:01 WARN  Memory usage exceeded the MemoryMonitor threshold.
2180 11:15:01 WARN  Memory usage: 2,058,067,968
2180 11:15:01 WARN  Number of suppressed logs due to the minimum time between log entries: 5
4624 11:15:10 INFO  DEBUG: STAGING History storage entries grouped: 0
4624 11:15:10 INFO  DEBUG: STAGING History storage entries grouped: 0
2180 11:16:11 WARN  Memory usage exceeded the MemoryMonitor threshold.
2180 11:16:11 WARN  Memory usage: 2,060,402,688
2180 11:16:11 WARN  Number of suppressed logs due to the minimum time between log entries: 6
4968 11:16:37 INFO  HttpModule is being initialized

显示页面的那个:

代码语言:javascript
复制
776 11:15:08 ERROR Announcement Error
Exception: System.IndexOutOfRangeException
Message: Index was outside the bounds of the array.
Source: 

 776 11:15:10 INFO  DEBUG: STAGING History storage entries grouped: 0
 776 11:15:10 INFO  DEBUG: STAGING History storage entries grouped: 0
3308 11:15:35 WARN  Memory usage exceeded the MemoryMonitor threshold.
3308 11:15:35 WARN  Memory usage: 2,632,605,696
3308 11:15:35 WARN  Number of suppressed logs due to the minimum time between log entries: 6
3308 11:15:45 INFO  Health.PrivateBytes: 2,632,630,272
3308 11:15:45 INFO  Health.CacheInstances: 654
3308 11:15:45 INFO  Health.CacheTotalCount: 332,491
3308 11:15:45 INFO  Health.CacheTotalSize: 417,760,120
3308 11:15:45 INFO  Health.Counter('Process\Private Bytes'): 2,632,630,272
3308 11:15:45 INFO  Health.Counter('Process\Virtual Bytes'): 5,925,634,048
3308 11:15:45 INFO  Health.Counter('Process\Page File Bytes'): 2,632,630,272
3308 11:15:45 INFO  Health.Counter('.net CLR Memory\# Bytes in all Heaps'): 1,568,948,208
3308 11:15:45 INFO  Health.Counter('.net CLR Memory\% Time in GC'): 1,080,607
3308 11:15:45 INFO  Health.Counter('.net CLR Memory\Large Object Heap size'): 343,910,104
3308 11:15:45 INFO  Health.Counter('.net CLR Loading\Bytes in Loader Heap'): 15,257,600
3308 11:15:45 INFO  Health.Counter('.net CLR Loading\Current Assemblies'): 107

不确定异常是否与它有关,因为它是在正确发布的服务器上抛出的?(相同的异常已经在两台服务器上抛出了几次。)

谢谢,

安妮莉

EN

回答 3

Stack Overflow用户

发布于 2011-05-10 10:28:04

我建议您查看登台模块的文档。这是针对Sitecore 6.0-6.2 (PDF link)

我认为我在使用staging模块时遇到的最大问题之一是HistoryEngine的正确配置。这有助于Sitecore跟踪发布所经历的过程,并有助于清除缓存。在我的例子中,Lucene索引更新需要它,但在这里,它对缓存清除机制也很有用。

直接从上面链接的文档中总结出来:

在您的内容管理服务器和从prod服务器上,确保它位于实时web数据库(例如本例中的webtarget )下的web.config中:

代码语言:javascript
复制
<database id="webtarget">
  <Engines.HistoryEngine.Storage>
    <obj type="Sitecore.Data.$(database).$(database)HistoryStorage, Sitecore.Kernel">
      <param connectionStringName="$(id)" />
      <EntryLifeTime>30.00:00:00</EntryLifeTime>
    </obj>
  </Engines.HistoryEngine.Storage>
</database>
...
<hooks>
  <hook type="Sitecore.Modules.Staging.InitializeEngines, Staging.Kernel" />
</hooks>
票数 2
EN

Stack Overflow用户

发布于 2011-05-10 00:40:19

您是否可以在未显示更新的服务器上尝试AppPool回收。我们以前也有过类似的事情发生。

如果您升级到Sitecore 6.3,我认为缓存机制得到了改进,从而绕过缓存并查看分布表,以监视项目更改,以便知道何时刷新缓存。

票数 0
EN

Stack Overflow用户

发布于 2013-06-26 22:17:08

这可能有任何原因,如果他们试图检索的数据依赖于基于Lucene引擎的搜索功能,那么这可能是索引问题。

确保在发布项时自动重新生成索引。仔细检查web.config计划时间,同时验证您在CD (内容传送)实例上的设置是否正确: Indexing.UpdateInterval Indexing.UpdateJobThrottle

请参阅sdn.sitecore.net上提供的ScalabilitySettings文档。如果您仍在使用Sitecore 6.1.0,则在发布到多个CD实例时会出现一个常见问题,即使您设置了handler,缓存也不会自动清除

代码语言:javascript
复制
<event name="publish:end:remote">
    <handler type="Sitecore.Publishing.HtmlCacheClearer, Sitecore.Kernel" method="ClearCache">
      <sites hint="list">
        <site>website</site>
      </sites>
    </handler>
  </event>

要解决这个问题,要么将你的版本更新到6.6.0更新5-最稳定的版本,要么从共享源码下载Stager模块。这将解决发布和缓存的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5939218

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档