.net Sitecore仅发布到两台服务器之一

.net Sitecore仅发布到两台服务器之一,.net,sitecore,.net,Sitecore,我在Sitecore(6.1.0)中遇到问题,它只将一个项目发布到我们的两个web服务器之一 不幸的是,我对Sitecore还是一个新手,还没有完成培训(虽然这很快就会发生!),所以我对Sitecore工作原理的了解有限(我也是这个项目的新手,所以还不熟悉它的设置方式)。请容忍我,因为我确信我在问题中漏掉了检查明显的东西或漏掉了重要的信息 基本上发生的情况是,一个客户端试图发布一个项目,但在实时站点上看不到它(他们尝试发布至少两次)。我检查了web数据库,它就在那里,然后登录到两个web服务器,

我在Sitecore(6.1.0)中遇到问题,它只将一个项目发布到我们的两个web服务器之一

不幸的是,我对Sitecore还是一个新手,还没有完成培训(虽然这很快就会发生!),所以我对Sitecore工作原理的了解有限(我也是这个项目的新手,所以还不熟悉它的设置方式)。请容忍我,因为我确信我在问题中漏掉了检查明显的东西或漏掉了重要的信息

基本上发生的情况是,一个客户端试图发布一个项目,但在实时站点上看不到它(他们尝试发布至少两次)。我检查了web数据库,它就在那里,然后登录到两个web服务器,在那里我可以看到它在其中一个服务器上工作,但在另一个服务器上却不工作。后来我又发表了一篇文章,我可以在这两篇文章上看到,但我不确定这是否是巧合。据我所知,这以前从未发生过,但我不能确定。没有错误消息,我想这可能是以前发生过的,但是客户机没有注意到,因为他们已经得到了它工作的服务器

我想了解为什么会发生这种情况,并且显然要努力阻止它在将来发生!如果有人有任何想法,我将非常感激

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

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服务器上的日志文件

未显示页面的一个:

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
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
显示页面的那个:

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
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
考虑到异常是在正确发布的服务器上引发的,不确定异常是否与此有关?(在两台服务器上多次抛出相同的异常。)

谢谢


Annelie

能否在未显示更新的服务器上尝试应用池回收。我们以前也发生过类似的事情


如果升级到Sitecore 6.3,我认为缓存机制得到了改进,他们可以绕过缓存,查看分发表,查看项目更改,以便知道何时刷新缓存。

我建议您查看暂存模块的文档。这是针对Sitecore 6.0-6.2的

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

直接从上面链接的文档,总结:

在您的内容管理服务器和从属prod服务器上,确保这是在live web数据库下的
web.config
中(例如本例中的webtarget):


30.00:00:00
...

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

确保在发布项目时自动重建索引。仔细检查web.config计划定时,并验证您在CD(内容交付)实例上的设置是否正确: index.UpdateInterval index.updateJobHrottle

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

<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 update 5-最稳定的版本,或者从共享源下载Stager模块。这将解决发布和缓存的问题。

您可以检查两台web服务器上同一时期的日志吗?再次尝试发布某些内容,然后手动清除每个prod站点上的整个Sitecore缓存。通过URL分别访问每个生产服务器并转到
/sitecore/admin/cache.aspx
,可以做到这一点。手动清除此处的缓存,查看内容是否显示在两个prod站点上。如果确实如此,这意味着登台模块没有正确地清除缓存。@techphoria414-我已经从web服务器添加了日志项,希望能有所帮助。@Mark Ursino-我无法在实时站点上再次发布。很遗憾,我将不得不等到客户端再次发布某些内容。(顺便说一句,明天一早我不在这里,祈祷好运,到时候一切都会好起来!)+1马克的评论-我打赌这一切都是关于页面现在显示的缓存,但我需要理解为什么会发生,以及如何防止再次发生。目前可能不太可能升级。感谢您的帮助,第一位在配置中,而不是第二位,所以我会仔细阅读并尝试一下。实际上,第二位在cms框的配置中,但不是web服务器!